我面临与 AWS CloudFront 和我的 WordPress 网站相关的问题。
WP 网站位于 AWS CF 后面,它使用第三方服务,我们假设它是一种验证服务。
场景就像 WP 网站收到来自用户的请求,然后内部请求验证服务并向用户提供响应。
WP 网站必须首先在验证服务中注册并列入白名单。
问题是,当 WP 网站使用 CF 时,验证服务会获取 CF 的 IP,由于事先未将其列入白名单,因此会出现授权错误。如果没有 CF,它也能按预期正常运行。
我尝试使用 X-Forwarded_For 请求标头,但无济于事。我确信是我对 AWS 缺乏了解导致了这个问题。
有人可以帮助或指导我正确的方向吗?
谢谢。
答案1
看起来 CloudFront 在这里充当了反向代理。这意味着它将打开与验证服务的 TCP 连接,并且在该连接上,源 IP 是 CloudFront IP。这是不可避免的。
您需要检查如何将访问者的 IP 地址告知验证服务。通常,这是通过X-Forwarded-For
标头完成的,但如果它不起作用,则表明该服务不支持它。
验证服务可能没有这种机制。在这种情况下,您无法使用它和 CloudFront。