我的 Proxmox VM 出现了一个奇怪的问题。我有一个运行 CentOS 7 和 VestaCP 的 VM,用于一些小型网站。其中一个网站需要列入 IP 白名单,这样只有允许的 IP 地址才能访问该网站。由于我们不能拥有用户帐户,因此需要将其列入 IP 白名单。
我遇到的问题:PHP(PHP 7.3)代码将主机(Proxmox 主机)IP 返回为远程。我找不到问题,无论是在防火墙还是在网络适配器中。在网上搜索无果后,我希望这里有人可以帮忙!
设置:在 OVH 上运行的专用服务器安装了 Proxmox VE 6,有 8 个“故障转移 IP”VM 运行 CentOS 7,桥接 Realtek 网络适配器连接到使用 Laravel 编码的故障转移 IP 的 PHP 7.3 网站之一
这里的问题是什么?有什么建议吗?
提前致谢!
答案1
这是预期行为。我曾使用 HAProxy、NGinx 和 Apache 作为 HTTP 代理,它们都以这种方式工作。
解决方案是通过X-Forwarded-For
标头。此标头由代理设置,用于标识发起请求的主机。
解决这个问题分为两个部分:
- 配置代理以在转发请求时设置此标头,并且
- 配置您的白名单来查找此标头。
编辑显然现在有一个标准标题:Forwarded