Nginx docker 代理容器不重定向?

Nginx docker 代理容器不重定向?

我正在尝试将以下 Nginx 反向代理配置烘焙到 docker 镜像中:

    server {
        listen 80;
        server_name 203.0.113.2;

        proxy_set_header X-Real-IP  $remote_addr; # pass on real client IP

        location / {
            proxy_pass http://203.0.113.1:3000;
        }
    }

我目前只是将其放入一个卷中并像这样映射它:

-v nginx-data:/etc/nginx/conf.d/

这是可行的,并且在启动时容器作为反向代理执行,但是当我像这样烘烤它时:

Dockerfile

  FROM nginx
  COPY gogs.conf /etc/nginx/conf.d/gogs.conf

从图像启动容器,如下所示:

docker run --name gogs-nginx-container -d gogs-nginx

最后通过指定的 IP 地址访问它,http://172.17.0.3/我只是得到“欢迎使用 Nginx”页面,而不是看到它,并且它不会重定向到203.0.113.1:3000.

关于如何解决这个问题有什么想法吗?

答案1

Nginx对其运行的IP地址“敏感”。在我的配置中,我有这样的server_name 203.0.113.2;设置,因此容器启动时必须在该 IP 地址上启动,否则代理配置将不会触发。所以这个命令就达到了目的:

docker run --name gogs-nginx-proxy --net mk1net --ip 203.0.113.2 -d gogs-nginx

相关内容