微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过 nginx 公开多个 docker 服务

如何解决通过 nginx 公开多个 docker 服务

我正在为一个网站提供服务,该网站由 docker 容器生成,使用 Nginx,该网站也位于 docker 容器中。这种设置效果很好。

我现在想做的是从多个容器为多个网站提供服务。

我的(简化)设置如下。

http {

upstream app_01 {
    server container_01:80;
}

upstream app_02 {
    server container_02:80;
}

server {
    listen 443 ssl;
    include common.conf;
    include /etc/Nginx/ssl.conf;

    location / {
        proxy_pass         http://app_01;
        proxy_redirect     off;
        include common_location.conf;
    }

    location /alternative {
        proxy_pass         http://app_02;
        proxy_redirect off;
        include common_location.conf;
    }
}

}

common_location.conf 包含:

proxy_set_header    X-Real-IP           $remote_addr;
proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
proxy_set_header    X-Forwarded-Proto   $scheme;
proxy_set_header    Host                $host;
proxy_set_header    X-Forwarded-Host    $server_name;
proxy_set_header    X-Forwarded-Port    $server_port;

我原来的网站仍然运行良好(container_01),我可以访问第二个站点(container_02);起始页面被部分加载。它似乎在所有链接中保留了 upload/ 部分。

我的问题:我如何让它发挥作用?

解决方法

由于似乎没有人能够回答,所以我最终使用了 nginx 的替代方案,它在 10 分钟内起作用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。