"proxy_set_header REMOTE-HOST $remote_addr" 的目的是什么?

What is the purpose of "proxy_set_header REMOTE-HOST $remote_addr"?

正在学习给WordPress添加反向代理,在参考别人配置参数的过程中,发现有人在配置中使用了如下参数。

proxy_set_header REMOTE-HOST $remote_addr;

我试图在网上搜索以了解它,但找不到任何相关信息。请问它具体有什么作用?

它的目的:它告诉反向代理软件 (nginx) 添加一个 HTTP header 到它从您的观众的浏览器转发到您的服务器的每个请求。它添加的 header 看起来像这样:

REMOTE-HOST: 198.51.100.121

这 header 向您的服务器宣布您的观众的 IP 地址。没有它,您的 WordPress Web 服务器日志将显示来自代理服务器地址的所有请求。又无聊又没用。

但你的做法很奇怪。您应该使用 the X-Forwarded-For header。 nginx 指令是

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

并且在 HTTP 请求中看起来像这样

X-Forwarded-For: 198.51.100.121

添加您的 REMOTE-HOST header 可能没有什么坏处,但标准是 X-Forwarded-For。