如果Docker容器中的nginx未在nginx容器中公开,则如何将其反向代理到主机上的端口

时间:2019-11-05 18:48:50

标签: docker nginx port nginx-reverse-proxy

在工作中,容器中有一个Nginx,它是代理传递给gitlab实例的代理(也在容器中)。

Nginx容器仅公开端口80:80和443:443,它的配置是http://127.0.0.1:8000的proxy_pass,这是gitlab实例所在的位置。

但是,端口8000在nginx docker容器内没有暴露。我想知道只有端口80:80和443:443被映射时(根据docker inspect),nginx如何做这个proxypass。

我的第二个问题是我尝试为另一个Webapp而不是gitlab复制此设置。但是nginx这次无法解析webapp的。

这是gitlab和我的webapp的配置。

server {
    listen       80;
    server_name  mydomain.com;

location / {
  proxy_pass http://127.0.0.1:5001$request_uri;

  proxy_http_version 1.1;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Request-URI $request_uri;
}
}

0 个答案:

没有答案