Also, ich habe einen Proxy von Drittanbietern (wahrscheinlich unter squid), der nur Verbindungen von einer meiner IPs akzeptiert, aber ich muss in der Lage sein, von einer Vielzahl von IPs darauf zuzugreifen.nginx - Weiterleiten von Anfragen an einen anderen Proxy
Also versuche ich ein Nginx setzen, um Anfragen an diesen Proxy weiterzuleiten. Ich weiß, nginx Anfrage wie folgt weiterleiten:
location/{
proxy_pass http://$http_host$uri$is_args$args;
}
Dies würde funktionieren, wenn ich nginx benötigt Anfragen direkt an die Zielstelle zu übermitteln, aber ich muss es zunächst zu Proxy-X zu übergeben. Ich habe das versucht:
upstream myproxy {
server X.X.X.X:8080;
}
location/{
proxy_pass http://myproxy$uri$is_args$args; // also tried: http://myproxy$http_host$uri$is_args$args
}
Aber ich bekomme "(104) Connection Reset von Peer". Ich denke, da nginx wird wie folgt Proxying:
GET /index.html HTTP/1.1
Host: www.targetdomain.com.br
Aber ich muss es Proxy wie folgt aus:
GET http://www.targetdomain.com.br/index.html HTTP/1.1
überprüfen verstehe ich, aber in diesem Fall, dass Sie „www.targetdomain.com.br“ manuell eingestellt werden, will ich es automatisch gelöst werden. Ich benutze Tintenfisch, um dies jetzt zu tun. – lucaswxp
Ich habe meine Antwort bearbeitet, um zu zeigen, wie ich damit umgehe (mit 'server_name', der in Subdomain-Variable einfängt). – Silex
Wenn Sie den Host basierend auf den Abfrageparametern festlegen müssen, können Sie Übereinstimmungen mit 'if' und' set' usw. durchführen (siehe den Link unten in meiner Antwort). – Silex