Nginx常用来做反向代理,但是作为正想代理大家有没有试过呢?
咱们公司有的服务器不能上外网,在这种情况下装软件比较麻烦,所以考虑通过能上外网的机器提供正向代理。
Nginx配置如下:
server{
listen xxxx; location / {resolver x.x.x.x;
proxy_pass ;
}
}注意项:
1. 不能有hostname2. 必须有resolver, 即dns,即上面的x.x.x.x,换成你们的DNS服务器ip即可3 . $http_host和$request_uri是nginx系统变量,不要想着替换他们,保持原样就OK。查看dns方法
cat /etc/resolv.conf代理使用
在需要访问外网的机器上执行以下操作之一即可:
1. export http_proxy=http://yourproxyaddress:proxyport2. gedit ~/.bashrc export http_proxy=http://yourproxyaddress:proxyportyourproxyaddress也就是你的Nginx服务器的ip了,proxyport就是上面配置中的82,可以根据自己的需要修改。=========================================分割线================================================
自我总结:
1、修改Nginx.conf 文件,添加dns 的解析 resolver 地址
2、配置nginx 作为代理的方法 proxy_pass
思考:利用 squid 做正向代理也是如此?squid 作为代理缓存的利用率如何?