nginx 代理到 apache,无法启用 keepalive(403)

nginx 代理到 apache,无法启用 keepalive(403)

我的设置是:

upstream http_backend {
    server 127.0.0.1:81;
    keepalive 16;
}

server {
    ...

    location / {
        proxy_pass http://http_backend;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
    }
}

但我403在每一页上都得到了一个。

如果我评论#proxy_set_header Connection "";页面已加载。但相应地nginx 文档,应该清除:

对于 HTTP,proxy_http_version 指令应设置为“1.1”,并且应清除“Connection”标头字段:

我必须在 Apache 端设置什么才能在 nginx(代理和 ssl 卸载器)和 apache(mpm_event 和 php-fpm)之间设置 keeplive?已KeepAlive设置为On

答案1

好的,错误是我在server块外部设置了一些标题location,因此这些标题被新指令清除了proxy_set_header。我必须将它们包含在location块中,例如:

server {
    ...

    location / {
        proxy_pass http://http_backend;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

相关内容