本指南帮助你将 Locode 配置为可通过公网访问,这样你就可以在任何地方通过浏览器访问自己的本地开发环境。
- Locode 已安装并可以正常运行
- 服务器有公网 IP 地址
- 防火墙允许访问指定端口
在项目根目录下的 .env 文件中添加或修改以下配置:
# 监听所有网络接口
HOST=0.0.0.0
# 端口号(默认 3000)
PORT=3000
# 是否启用 HTTPS(默认 false)
HTTPS=false
# 如果启用 HTTPS,需要配置 SSL 证书
# SSL_KEY=path/to/server.key
# SSL_CERT=path/to/server.cert# 停止当前运行的服务器(Ctrl+C)
# 重新启动
npm startipconfig找到你的网络适配器的 IPv4 地址
ifconfig或
ip addr show访问 https://ipinfo.io 获取公网 IP
- 打开"Windows Defender 防火墙"
- 点击"高级设置"
- 选择"入站规则"
- 点击"新建规则"
- 选择"端口"
- 输入端口号(如 3000)
- 选择"允许连接"
- 完成规则创建
sudo ufw allow 3000sudo iptables -A INPUT -p tcp --dport 3000 -j ACCEPT# 系统偏好设置 -> 安全性与隐私 -> 防火墙选项
# 添加端口 3000在浏览器中访问:
http://<your-public-ip>:3000
# 生成私钥
openssl genrsa -out server.key 2048
# 生成证书
openssl req -new -x509 -key server.key -out server.cert -days 365 -subj /CN=localhostHTTPS=true
SSL_KEY=server.key
SSL_CERT=server.certhttps://<your-public-ip>:3000
注意:自签名证书会显示安全警告,这是正常的。
如果你的服务器在路由器后面,需要配置端口转发:
通常在浏览器中访问:
http://192.168.1.1http://192.168.0.1- 或查看路由器背面的默认地址
通常在:
- NAT 设置
- 端口转发
- 虚拟服务器
- 外部端口:3000(或你选择的端口)
- 内部端口:3000
- 内部 IP:你的服务器 IP(如 192.168.1.100)
- 协议:TCP
考虑添加身份验证:
// 在 server.js 中添加
app.use((req, res, next) => {
const auth = req.headers.authorization;
if (!auth || auth !== 'Bearer your-token') {
res.status(401).send('Unauthorized');
return;
}
next();
});使用 Nginx 或 Apache 作为反向代理:
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}考虑使用 VPN 进行安全访问。
确保工作空间不包含敏感信息。
保持 Locode 和依赖项更新到最新版本。
A: 检查以下项目:
- 防火墙是否开放端口
- 路由器是否配置端口转发
- 服务器是否正在运行
- HOST 是否设置为 0.0.0.0
- 公网 IP 是否正确
A:
- 检查网络连接
- 确认服务器正在运行
- 检查端口是否被其他程序占用
A:
- 确认证书路径正确
- 检查证书是否过期
- 浏览器可能需要手动信任自签名证书
A:
- 检查路由器端口转发配置
- 确认公网 IP 正确
- 检查 ISP 是否阻止了端口
如果你有域名,可以配置域名访问:
在你的域名 DNS 设置中添加 A 记录:
Type: A
Name: @
Value: <your-public-ip>
TTL: 3600
http://your-domain.com
使用 Cloudflare 提供免费 CDN 和 HTTPS:
- 注册 Cloudflare 账号
- 添加你的域名
- 配置 DNS 记录
- 启用 SSL/TLS
# Windows
netstat -ano | findstr :3000
# Linux/Mac
lsof -i :3000服务器启动时会显示监听地址:
Locode server running at http://0.0.0.0:3000
Local access: http://localhost:3000
Network access: http://<your-ip-address>:3000
# 使用 telnet
telnet <your-ip> 3000
# 使用 nc
nc -zv <your-ip> 3000如果遇到问题,请:
- 查看常见问题部分
- 提交 Issue:https://github.com/lloyd-c137/locode/issues
- 查看安全文档:SECURITY.md
注意:在公网暴露服务时,请务必注意安全!