如果不添加斜杠,Nginx 反向代理到 Apache 会超时

如果不添加斜杠,Nginx 反向代理到 Apache 会超时

我使用 nginx 将对 dev.example.com 的所有请求反向代理到 apache。一切正常,我在 URL“dev.example.com/wordpress/”上安装了 wordpress。奇怪的是,如果您输入 URL“dev.exmaple.com/wordpress”,则会收到连接超时错误,但如果您输入“dev.exmaple.com/wordpress/”末尾带有斜杠,连接正常。为什么会这样?

编辑:抱歉,这是 nginx 配置

server{
    server_name dev.example.com;
    location / {
            proxy_pass http://127.0.0.1:8078;
            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_max_temp_file_size 0;

            client_max_body_size       10m;
            client_body_buffer_size    128k;

            proxy_connect_timeout      90;
            proxy_send_timeout         90;
            proxy_read_timeout         90;

            proxy_buffer_size          4k;
            proxy_buffers              4 32k;
            proxy_busy_buffers_size    64k;
            proxy_temp_file_write_size 64k;
    }
}

我从某个地方复制了大部分内容,不确定在哪里......

对于 Apache,我所做的就是改变

NameVirtualHost *:8078
Listen 8078

在 ports.conf 文件中。

我还编辑了 sites-available/default 并放入

<VirtualHost *:8078>

在顶部,而不是

<VirtualHost *:80>

这一切都在 ec2(ubuntu)上。

答案1

如果没有尝试重定向的尾部斜杠,则应设置代理重定向句子来解决问题。例如:

代理重定向http://本地主机:8078/ http://dev.example.com/

相关内容