如何在CDN(另一个反向代理)后面创建反向代理

问题描述 投票:3回答:1

我有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个回答
0
投票

这是因为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;
}
© www.soinside.com 2019 - 2024. All rights reserved.