我的设置是:
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;
}
}