2012-06-14 11 views
5

Ich versuche, einen Squid-Server hinter Nginx zu betreiben. ich konfiguriert nginx wie folgt aus:Können Tintenfische hinter Nginx laufen?

server { 
    listen  8080; 
    location/{ 
     proxy_pass http://localhost:3128; 
     proxy_set_header Host $host; 
     proxy_set_header X-Real-IP $remote_addr; 
    } 
} 

Dann habe ich meine http Netzwerk-Proxy:

my-nginx-server-address:8080 

Also, wenn ich versuche, die Google-Startseite zu sehen, die nginx wird die Anfrage bekommen:

Get http://www.google.com/ HTTP/1.1 

Wenn jedoch nginx die Anfrage an squid übergibt, ändert sich die request_uri in

/ 

So Tintenfisch wird nicht funktionieren. Gibt es eine Möglichkeit, die request_uri wieder auf http://www.google.com setzen und dann an squid übergeben? Oder irgendwelche anderen Möglichkeiten, wie ich Tintenfische hinter Nginx laufen lassen kann?

Antwort

1

Proxy_set_header versuchen Anfrage-URI $ request_uri;

In Antwort auf Ihren Kommentar, können Sie auch hinzufügen bevorzugen:

upstream _squid { server localhost:3128; } server { ... proxy_pass http://_squid/$host$uri; }

+0

Ich habe versucht, diese selbst, und ich kann nicht herausfinden, wie Tintenfisch bekommt die Aufmerksamkeit auf diese Request-URI-Header zu zahlen. Vielleicht wird dies in der neuesten Version von squid nicht unterstützt? Ich kann nicht einmal eine Dokumentation finden, die diesen Header erwähnt. –

Verwandte Themen