目 录CONTENT

文章目录

Nginx Proxy Manager 登录出错 Bad gateway

16Reverie
2025-03-28 / 1 评论 / 0 点赞 / 237 阅读 / 0 字

错误

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  | ❯ Starting backend ...
1Panel-nginx-proxy-manager-8SZH  | ❯ Starting nginx ...
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 参考步骤:

  1. 修改 /etc/systemd/resolved.conf 文件设置 DNS 服务器地址

vim /etc/systemd/resolved.conf

在文件中找到[Resolve] 部分,并添加或修改以下内容:

[Resolve]
DNS=8.8.8.8 114.114.114.114
  1. 重启 systemd-resolved 服务使更改生效

systemctl restart systemd-resolved
systemctl enable systemd-resolved
  1. 重新设置 /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
  1. 验证配置

可以通过以下命令验证 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 直连访问。

链接

https://nginxproxymanager.com/

0

评论区