5

我正在尝试在 nginx 后面运行一个 squid 服务器。我这样配置nginx:

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

然后我将我的 http 网络代理设置为:

my-nginx-server-address:8080

所以当我尝试查看谷歌主页时,nginx会收到请求:

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

但是,当 nginx 将请求传递给 squid 时,它会将 request_uri 更改为

/

所以鱿鱼不行。有什么办法可以将 request_uri 设置回http://www.google.com然后将其传递给 squid?或者我可以在 nginx 后面运行 squid 的任何其他方式?

4

1 回答 1

1

试试 proxy_set_header Request-URI $request_uri;

在回复您的评论时,您可能还希望添加:

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

于 2012-06-14T11:05:15.623 回答