feat(deploy): 新增外部访问诊断脚本 check-access.sh
"服务已启动但外部访问不了"时一次性定位原因,只读诊断、不改配置: - 读出 .env 的 HOST/PORT,并对 127.0.0.1 这种只监听回环的配置直接报错 - 检查实际监听地址(ss/netstat),区分通配与仅回环 - 回环 + 对外 IP 两次 /health 自测(用 ip route get 取真实出口 IP) - 检查 80/443 上有没有反向代理,并说明本项目不部署反代 - 检查 firewalld / ufw / iptables 对端口的放行情况,给出修复命令 - 结尾按"直连后端"与"经反代"两条路径给出结论 同时更新 README.txt、deploy/proxy/README.md(新增第八节:还没有反代时 如何直连后端)与打包校验清单。
This commit is contained in:
@@ -180,3 +180,25 @@ curl -i http://<反代地址>/api/catalog/version
|
||||
| 上传大文件 413 | 代理层上传上限没放开(见第三、四、五节) |
|
||||
| 上传中途断开 | 代理超时太短 |
|
||||
| `/songs` 直接访问 404 | SPA 回退被代理拦截;本服务已处理,代理**不要**自己加 `try_files`,全匹配转发即可 |
|
||||
|
||||
## 八、还没有反代时:直连后端怎么访问
|
||||
|
||||
在运维侧配好反代之前,可以直接访问后端业务服务(本项目开箱即用,不依赖反代):
|
||||
|
||||
1. `deploy/.env` 中 `HOST=0.0.0.0`(若只想让某个网段访问,也可填具体网卡地址)
|
||||
2. 防火墙放行后端端口(默认 `3000/tcp`)
|
||||
3. 浏览器访问 `http://<服务器IP>:3000`
|
||||
|
||||
> 注意:服务默认在 **3000** 端口,不在 80/443。直接访问 `http://<服务器IP>/`
|
||||
> 是打不开的——那需要反代把 80/443 转到 3000,属于本节的配置范围。
|
||||
|
||||
一条命令定位「服务起来了但外部访问不了」:
|
||||
|
||||
```bash
|
||||
bash deploy/check-access.sh # 只读诊断,不改配置
|
||||
bash deploy/check-access.sh /opt/opendance # 指定安装目录
|
||||
```
|
||||
|
||||
脚本会打印 `.env` 中的 `HOST`/`PORT`、实际监听地址(重点看是否只监听
|
||||
`127.0.0.1`)、回环与对外 IP 两次自测结果、80/443 上有没有反代、
|
||||
firewalld / ufw / iptables 的放行情况,并直接给出修复命令。
|
||||
|
||||
Reference in New Issue
Block a user