Nginx到另一台服务器和端口的代理路径

时间:2020-03-13 11:13:33

标签: docker nginx reverse-proxy nginx-reverse-proxy

我尝试基于docker构建工具链测试环境。其中包括用于nginx,gitea,Vault,jenkins,nexus等的多个容器。

在运行docker桌面的我的Windows主机上,我想用浏览器连接到几台服务器。

容器的DNS名称(例如“ vault”和“ jenkins”)仅可用于docker容器而不是Windows主机。我的计划是使用本地主机连接到nginx服务器,nginx会将请求重定向到目标服务器。

https://localhost -> Startpage
https://localhost/gitea -> https://gitea:30443
https://localhost/jenkins -> https://jenkins:40443

nginx服务器正在按预期方式应答并显示起始页面(docker将443重定向到20443)。 在nginx中,我创建了以下配置(gitea示例,该位置将为jenkins,保险库文件及其他所有文件创建):

server {
    resolver 127.0.0.11; #docker local dns
    listen 20443 ssl;
    server_name  frickeldave.global;

    ssl_certificate      /home/appuser/data/certificates/cer.pem;
    ssl_certificate_key  /home/appuser/data/certificates/key.pem;

    access_log  /home/appuser/data/nginx/log/nginx-access.log;
    error_log   /home/appuser/data/nginx/log/nginx-error.log;

    error_page   500 502 503 504  /50x.html;

    location / {
        root   /home/appuser/data/nginx/html;
        index  index.html index.htm;
    }

    location /gitea {
        set $gitea_server gitea;
        proxy_pass https://$gitea_server:30443;
    }
}

当我在docker Windows主机上的浏览器中调用此命令时,他将我重定向到https://localhost:20443/gitea(确实为20443,没有键入错误)。我该怎么做才能通过反向代理“隧道”所有流量,并使Docker Windows主机上的URL“ localhost / gitea”可见?

致谢

戴夫

0 个答案:

没有答案
相关问题