因爲SEO的我已經安裝工作正常的反向代理:的CloudFlare +反向代理 - 錯誤1000
的設置如下:
1)http://www.example.com(在Heroku的託管的node.js)
2)http://blog.example.com(WordPress的託管在godaddy的)
3) v正在訪問http://www.example.com/blog從http://blog.example.com獲取內容。
這工作得很好,並在1)我也有代理與流行nodejitsu HTT代理和httpProxyRules模塊工作:
// Set up proxy rules instance
var proxyRules = new httpProxyRules({
rules: {
'.*/blog': 'https://blog.example.com', // Rule (1)
},
default: 'https://www.example.com' // default target
});
// Create reverse proxy instance
var proxy = httpProxy.createProxy();
// Create http server that leverages reverse proxy instance
// and proxy rules to proxy requests to different targets
http.createServer(function(req, res) {
// a match method is exposed on the proxy rules instance
// to test a request to see if it matches against one of the specified rules
var target = proxyRules.match(req);
if (target) {
return proxy.web(req, res, {
target: target,
changeOrigin: true,
});
}
res.writeHead(500, { 'Content-Type': 'text/plain' });
res.end('The request url and path did not match any of the listed rules!');
}).listen(6010);
然後我試圖加入CloudFlare的SSL證書,所以我可以有HTTPS。我知道Cloudflare本身就是一個反向代理。因此,總共我會在我的設置中使用3個反向代理,1),2)(均使用Cloudflare的反向代理)和3)(我的自定義反向代理)。
另外,1)和2)都可以正常使用https。但是,3)破產。
爲3),我不斷收到錯誤:
錯誤1000 - DNS指向禁止IP
這是怎麼回事,我該如何着手解決這個問題?
嗨mjsa,關於「你的Node.js代理應該直接指向原始web服務器,而不是通過CloudFlare回去。」你能更具體地說我應該怎麼做,通過改變node.js反向代理腳本? – user1347271
繼續並在託管腳本的服務器上更改/ etc/hosts文件,以便這些域直接指向原始服務器。否則,您可以將IP地址用於原始服務器,而不是腳本中的域名。 – mjsa