/ 约 1 min /
#Dev

Nginx Proxy Manager 反代本地服务502错误

AI Summary 内容由 AI 生成,仅供参考

这篇文章分享了使用 Nginx Proxy Manager 反向代理时的常见问题与解决技巧。作者发现,在反代本机 Docker 或非 Docker 项目时,默认只能使用特定 IP(如 172.17.0.1 或真实 IP),用 127.0.0.1、localhost 等会报错。文章给出最简方法:在 docker-compose.yml 中将网络模式设为 host,并去掉端口映射,就能直接用本地地址完成反代。适合遇到类似问题的运维与开发者快速参考。

docker-compose.yml

version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

反代本机其他 docker 项目,红框内只有填 172.17.0.1 才能正常使用,填写常规的 127.0.0.1 或 localhost 或主机名,则会报错。

反代本机其他非 docker 项目,红框内只有填真实 IP 地址才能正常使用,填写常规的 127.0.0.1 或 localhost 或主机名,也会报错。 解决方法

排除防火墙因素外,最简单的解决方法,修改官方 docker-compose.yml 如下:

version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
network_mode: host
volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt

1.设定网络类型为 host

2.删除宿主端口和容器端口的映射,不然容器会运行失败。

这样就可以正常使用 127.0.0.1 或 localhost 或主机名进行反代了。