docker nginx proxy传递到 apache 没有虚拟主机匹配

docker nginx proxypass to apache no virtualhost match

提问人:Jack 提问时间:11/17/2023 最后编辑:Jack 更新时间:11/18/2023 访问量:22

问:

嗨,我有一个 docker 设置:在我的 docker 机器上公开了端口 80 和 443 的 nginx 代理,它将所有请求传递给第二个容器“apache2fpmcontainer”,端口 81 绑定到自己的 80

这是 nginx conf:

upstream domain.fr {
    server apache2fpmcontainer:81;
}

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;
    server_name domain.fr www.domain.fr;
    location ~ /.well-known/acme-challenge {
        allow all;
        root /tmp/acme_challenge;
    }

    location / {
        proxy_pass http://domain.fr;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Host $server_name;
        proxy_set_header X-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-Forwarded-Proto $scheme;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $http_connection;
    }
}

这是 apache conf:

DocumentRoot /home/notset/
<VirtualHost *:80>
  ServerName domain.fr
  DocumentRoot /home/domain.fr/
</VirtualHost>
<VirtualHost domain.fr:80>
  ServerName domain.fr
  DocumentRoot /home/domain.fr/
</VirtualHost>

    

我的问题是任何请求都位于/home/notset/文档根目录。 如果我停止 nginx 并将端口 80 绑定回 apache,则预期行为是完美的。

有没有人有一个线索、想法、通知或启示,为什么它不承认虚拟主机? 服务器变量(如 http_host 和 server_name)是正确的:domain.fr

提前致谢:)

docker apache nginx docker-compose nginx-reverse-proxy

评论


答: 暂无答案