Nginx 使用 Apache 反向代理到 Dockerized Wordpress 导致“错误请求”

Nginx reverse proxy to Dockerized Wordpress with Apache results in "Bad Request"

提问人:simplesystems 提问时间:8/19/2023 更新时间:8/19/2023 访问量:35

问:

我已经设置了一个 Nginx 服务器来充当运行 Apache 的 Docker 化 WordPress 实例的反向代理。我的 SSL Nginx 配置如下所示:

server {
    server_name  blog.example.com;
    listen 443 ssl;
    listen [::]:443 ssl;
    ssl_certificate /etc/letsencrypt/live/blog.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/blog.example.com/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    location / {
        proxy_pass http://127.0.0.1:8020;
        include proxy_params;
        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-Forwarded-Proto $scheme;
    }
}

server {
    server_name  blog.example.com;
    listen 80;
    listen [::]:80;

    if ($host = blog.example.com) {
        return 301 https://$host$request_uri;
    }
    return 404;
}

当我尝试访问 blog.example.com 时,出现以下错误:

Bad Request
Your browser sent a request that this server could not understand.

这似乎是 Docker 容器内的 Apache 服务器的错误。我已经确保在 Nginx 中正确设置了代理标头,并且我还检查了 Docker 容器中的 .htaccess 和 Apache 配置,但我似乎找不到根本原因。

有没有人遇到过类似的问题,或者对可能导致此错误的原因以及如何解决它有任何见解?

Docker Apache Nginx

评论

0赞 Hans Kilian 8/19/2023
我会尝试确定对 Apache 的请求的确切外观,并使用或类似工具复制它。这样一来,你就可以让 Nginx 摆脱困境,并希望更容易地看到问题所在。curl
0赞 simplesystems 8/19/2023
如何确定请求的外观?我检查了access_logs但没有多大帮助
0赞 simplesystems 8/19/2023
还要检查 docker 容器中的 apache access.log,但这完全是空的
0赞 simplesystems 8/19/2023
现在它起作用了,不得不更新 WordPress 设置中的 URL,天哪......

答: 暂无答案