Nginx 反向代理被阻止

Nginx 反向代理被阻止

我们在主域的子目录中运行一个 wordpress 博客。

domain.com => Server A (Nginx)
domain.com/blog => Server B (Apache)

博客本身位于不同的(廉价共享主机)服务器上,并采用反向代理。

Nginx => Apache

由于每个博客请求都通过我们的主要服务器进行传输,服务器 B不断阻止我们的服务器AIP地址,因为所有请求都来自同一个 IP。如果大量请求同时命中(主要是爬虫),我们会被列入黑名单 10 分钟,并导致 502 网关错误。

有没有办法将真实 IP 地址传递给服务器 B?或者有人知道其他解决方案,而无需升级到根服务器?遗憾的是,目前无法在服务器 A 上托管 wordpress 博客。

答案1

如果“廉价共享主机”支持的话,您可以转发原始请求者 IP:
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
因此希望您的反向代理的 IP 不会被阻止。

如果您想阻止机器人列表,您可以查看这个问题/答案:
https://stackoverflow.com/a/24820722/940009

答案2

晚了5年。

不行,但是你可以屏蔽爬虫吗?

if ($http_user_agent ~* bot)
{
    return 404;
}

未经测试。

相关内容