尝试将Nginx设置为Facebook的反向代理,但出现Facebook错误

时间:2019-02-13 02:10:26

标签: nginx

我父亲的工作要求他在办公室外使用VPN来访问与工作相关的任何内容(电子邮件,网站等),并且VPN阻止了facebook,目前,每当他想要使用facebook时,他都必须先注销VPN 。他问我是否可以设置一些方法来解决该问题,所以我试图在Debian 9上设置NGINX以充当反向代理,但是我对NGINX的经验很少。我发现如果包含proxy_set_header Host $host;,那么我可以进入Facebook,但是看到 “抱歉,出了一些问题。 我们正在尽快努力修复这个。” 但是,如果我不包括它,VPN仍然会阻止facebook。 有什么建议吗?

nginx config

1 个答案:

答案 0 :(得分:0)

由于某些原因,您将无法反向代理Facebook:

  • facebook.com不会从备用主机名(例如kyles-facebook-proxy-clone.com)中加载。浏览器发送请求标头Host。 Facebook的服务器无法提供他们所期望的主机名。
  • 毫无疑问,有一些客户端JavaScript会被硬编码为您未代理的其他主机名(用于API访问,用于图像/视频的CDN等),除非您也将页面重新写入了代码中(由于混淆,这是不可能的)。
  • 如果没有为HTTPS正确签名的证书,则不能为facebook.com提供流量。由于HSTSfacebook.com需要HTTPS。
  • 即使您成功获得了证书,由于key pinning,该证书也无法正常工作。

你能做什么?

  • 使用适当的代理服务器。
  • Use Tor
  • 要求Facebook在VPN上通过。