错误
Docker部署完后首次打开页面,输入默认用户密码进行登录时,出现报错:Bad gateway
环境
Nginx Proxy Manager 版本:2.12.3
系统:ubuntu
部署方式:1Panel Docker
docker-compose:
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
原因
通过日志发现 NPM 启动卡在了一个 fetch 命令上
1Panel-nginx-proxy-manager-8SZH | -------------------------------------
1Panel-nginx-proxy-manager-8SZH | _ _ ____ __ __
1Panel-nginx-proxy-manager-8SZH | | \ | | _ \| \/ |
1Panel-nginx-proxy-manager-8SZH | | \| | |_) | |\/| |
1Panel-nginx-proxy-manager-8SZH | | |\ | __/| | | |
1Panel-nginx-proxy-manager-8SZH | |_| \_|_| |_| |_|
1Panel-nginx-proxy-manager-8SZH | -------------------------------------
1Panel-nginx-proxy-manager-8SZH | User: npm PUID:0 ID:0 GROUP:0
1Panel-nginx-proxy-manager-8SZH | Group: npm PGID:0 ID:0
1Panel-nginx-proxy-manager-8SZH | -------------------------------------
1Panel-nginx-proxy-manager-8SZH |
1Panel-nginx-proxy-manager-8SZH | [1;34m❯ [1;36mStarting backend ...[0m
1Panel-nginx-proxy-manager-8SZH | [1;34m❯ [1;36mStarting nginx ...[0m
1Panel-nginx-proxy-manager-8SZH | [3/28/2025] [4:23:44 AM] [Global ] › ℹ info Using Sqlite: /data/database.sqlite
1Panel-nginx-proxy-manager-8SZH | [3/28/2025] [4:23:44 AM] [Migrate ] › ℹ info Current database version: none
1Panel-nginx-proxy-manager-8SZH | [3/28/2025] [4:23:44 AM] [Setup ] › ℹ info Logrotate Timer initialized
1Panel-nginx-proxy-manager-8SZH | [3/28/2025] [4:23:44 AM] [Global ] › ⬤ debug CMD: logrotate /etc/logrotate.d/nginx-proxy-manager
1Panel-nginx-proxy-manager-8SZH | [3/28/2025] [4:23:44 AM] [Setup ] › ℹ info Logrotate completed.
1Panel-nginx-proxy-manager-8SZH | [3/28/2025] [4:23:44 AM] [IP Ranges] › ℹ info Fetching IP Ranges from online services...
1Panel-nginx-proxy-manager-8SZH | [3/28/2025] [4:23:44 AM] [IP Ranges] › ℹ info Fetching https://ip-ranges.amazonaws.com/ip-ranges.json
curl https://ip-ranges.amazonaws.com/ip-ranges.json
访问也不通
网络不通导致 NPM 安装阻塞在这条命令上。
解决方法
修改 DNS,ubuntu 参考步骤:
修改
/etc/systemd/resolved.conf
文件设置 DNS 服务器地址
vim /etc/systemd/resolved.conf
在文件中找到[Resolve]
部分,并添加或修改以下内容:
[Resolve]
DNS=8.8.8.8 114.114.114.114
重启
systemd-resolved
服务使更改生效
systemctl restart systemd-resolved
systemctl enable systemd-resolved
重新设置
/etc/resolv.conf
的软链接
为了确保/etc/resolv.conf
文件指向正确的配置文件,需要备份当前的 /etc/resolv.conf
文件,并重新创建软链接:
mv /etc/resolv.conf /etc/resolv.conf.bak
ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
验证配置
可以通过以下命令验证 DNS 配置是否生效:
cat /etc/resolv.conf
输出应包含配置的 DNS 服务器地址,例如:
nameserver 8.8.8.8
nameserver 114.114.114.114
完成!curl https://ip-ranges.amazonaws.com/ip-ranges.json
执行也成功返回 json 数据。
重新构建镜像,打开 NPM 网页控制台,输入账号密码成功登录🤓
总结
简单的网络原因导致的。
这应该是导致登录时 Bad gateway 的原因之一而已,还算简单好解决。看到有人说等待十几分钟几个小时就自动解决了#issue310,估计就是网络在等待过程中突然通了的原因,类似薛定谔的 github 直连访问。
wl
05 / 07用上了!谢!
From Nginx Proxy Manager 登录出错 Bad gateway