我当前的设置包括一个 pfSense 防火墙,它将公共 WAN 流量转发到 NAT 内部 IP。
例子:
- 104.12.134.12:80(WAN IP)端口将所有流量转发到 192.168.1.104:80
这按预期工作,流量正确转发。我遇到的问题是,我在 Nginx 日志中看到本地 IP(即 pfSense 路由器 IP,在本例中为 192.168.1.1)。
我搜索过很多的文章建议使用 real_ip 模块,并设置 X-Forwarded-For 标头,但这不起作用。
笔记:
- 我的路由器的 IP 与我端口转发的 IP 不同(这是故意的)。
- 我不拥有 104.12.134.12,这只是一个例子。
答案1
您应该使用 pfSense 的负载平衡功能来执行此操作(如下所述:https://www.howtoforge.com/how-to-use-pfsense-to-load-balance-your-web-servers) 而不是 NATING 规则。
您只能定义一个负载平衡池,其中只有一台服务器。
此外,如果您需要的话,它将允许您稍后添加 nginx 服务器。
答案2
该问题现已修复。
我的 pfSense NAT 出站配置不正确。我设置了 WAN 和 LAN 映射。删除 LAN 出站映射即可解决问题。