【问题标题】:How to create an reverse proxy behind an CDN (another reverse proxy)如何在 CDN 后面创建反向代理(另一个反向代理)
【发布时间】:2016-11-17 11:49:19
【问题描述】:

我有 www.site.com 和 blog.site.com。

在 site.com 服务器上,我有一个从 www.site.com/blog 指向 www.blog.com 的 nginx 反向代理,一切正常,代码如下:

location  /blog {
  proxy_read_timeout 30s;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto https;
  proxy_set_header Host $host;
  proxy_pass       http://blog.site.com;
  proxy_redirect   off;
}

但是当我添加 CloudFlare CDN 时,我收到错误 1000,因为它是另一个反向代理。 (https://support.cloudflare.com/hc/en-us/articles/200171976-Error-1000-DNS-points-to-prohibited-IP)

我该如何解决?

【问题讨论】:

  • 你找到解决这个问题的方法了吗?

标签: nginx reverse-proxy cdn cloudflare


【解决方案1】:

这是因为 cloudflare 检测到 blog.site.com 的站点也托管在 cloudflare 上,允许您这样做可能会创建一个请求循环。

可能的解决方案:

  1. 将其中一台主机从 cloudflare 中移除;
  2. 直接代理到nginx内部主机的IP地址。

代码:

location  /blog {
  proxy_read_timeout 30s;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto https;
  proxy_set_header Host $host;
  proxy_pass       http://{Your-Host-IP-Address};
  proxy_redirect   off;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-26
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-19
    • 1970-01-01
    • 2019-10-15
    相关资源
    最近更新 更多