我想了解的可行性是为任何客户端的浏览器创建一个完全透明的系统,使我可以使用以下语法访问任何目标网址:
我正在尝试做的事情得到了很好的报道,但是此处http://mailman.nginx.org/pipermail/nginx/2008-December/008987.html没有提供解决方案
系统必须像配置浏览器使用代理一样工作,但是我不想强迫用户配置代理参数。
我认为可以使用Nginx代理uri请求,然后使用鱿鱼来处理请求。 nginx和squid在同一台服务器上,但也可能在不同的服务器上。 我正在尝试访问任何网站(例如)google.com 从任何使用
的浏览器"https://example.com/service/google.com"
example.com由我的一台Nginx Web服务器管理
以下 Reverse proxy from nginx to squid
nginx配置部分的设置如下:
location ~* ^/service/(.*) {
proxy_pass http://localhost:3128/$1$is_args$args;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Request-URI $request_uri;
proxy_set_header Host $host;
proxy_redirect off;
}
和squid.conf
http_port 3128 vhost allow-direct
现在,当我尝试访问https://example.com/service/google.com时 鱿鱼日志报告。
我想是关于proxy_pass的问题,但是我做了很多尝试, 无法正确修复它。
squid.log
TCP_MISS/403 4495 GET http://example.com/google.com - HIER_NONE/- text/html
TCP_MISS/403 4589 GET http://example.com/google.com - ORIGINAL_DST/127.0.0.1 text/html