在同一个location块中,如果同时有proxy_set_header指令和proxy_pass指令,会先执行proxy_set_header指令,再执行proxy_pass指令。
所以下面的两段代码等效:
location / {
proxy_pass http://your_django_backend;
# 设置header信息
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;
# 其他 Nginx 配置...
}
location / {
# 设置header信息
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;
proxy_pass http://your_django_backend;
# 其他 Nginx 配置...
}
本文解释了在Nginx配置中,当location块内同时存在proxy_set_header指令和proxy_pass指令时,proxy_set_header会先于proxy_pass执行,强调了这两者在配置中的执行顺序及其对HTTP头处理的影响。
3853

被折叠的 条评论
为什么被折叠?



