我有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)
我该如何解决?
这是因为cloudflare也检测到blog.site.com
的站点也托管在cloudflare,并且有可能允许您执行此操作,这将创建一个请求循环。
可能的解决方案:
代码:
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;
}