wegen SEO Ich habe Setup einen Reverse-Proxy, der gut funktioniert:Cloudflare + Reverse Proxy - Fehler 1000
Das Setup ist wie folgt:
1)http://www.example.com (node.js bei Heroku gehostet)
2)http://blog.example.com (Word bei godaddy hosted)
3) v Besucher, die auf http://www.example.com/blog zugreifen, erhalten Inhalt von http://blog.example.com.
Dies funktioniert gut, und bei 1) Ich habe auch den Proxy mit dem beliebten Arbeits nodejitsu htt-Proxy und httpProxyRules Module:
// 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);
Dann habe ich versucht Cloudflare SSL-Zertifikate hinzugefügt, so konnte ich https habe. Ich weiß, dass Cloudflare selbst als Reverse-Proxy fungiert. Insgesamt hätte ich 3 Reverse-Proxies in meinem Setup, 1), 2) (beide mit Cloudflares Reverse-Proxy) und 3) (mein eigener Reverse-Proxy).
Getrennt, beide 1) und 2) funktionierte gut mit https. Allerdings 3) brach.
Für 3) Ich erhalte die Fehlermeldung:
Fehler 1000 - DNS Punkte verboten IP
Was los ist und wie muss ich vorgehen, dieses Problem zu lösen?
Hi mjsa, über "Ihr Node.js Proxy sollte idealerweise direkt zum ursprünglichen Webserver zeigen und nicht durch CloudFlare zurückgehen." Könntest du genauer sagen, wie ich das tun soll, indem ich das reverse-proxy-Skript node.js ändere? – user1347271
Gehen Sie voran und ändern Sie die Datei/etc/hosts auf dem Server, der das Skript hostet, sodass diese Domänen direkt auf den Ursprungsserver zeigen. Andernfalls könnten Sie IP-Adressen für den Ursprungsserver anstelle des Domänennamens in Ihrem Skript verwenden. – mjsa