Nginx设置为代理服务器上网

2013年7月30日 | 由 helight | 700字 | 阅读大约需要2分钟 | 归档于 linux 应用 | 标签 #2pc

公司的网络部门抽风,突然之间不让办公机连接idc上的非80端口了,而内部写的大部分的后台模块都是会起一个非80的http端口,让开发去实时查看模块信息,甚至动态调整模块内的一些flags参数,兄弟们着实痛苦了好几天,本来想简单点直接在任意idc机器上使用w3m来去登录这些页面,但是这些页面偏偏使用了ajax获取数据才进行展示,所以没办法,只好开代理了,上nginx吧,反正想在那台内网机器上安装nginx好久了。

nginx不仅可以来做反向代理,也可以用来做正向代理(透明代理,代理上网)。 反向代理:外部机器通过网关访问网关后面服务器上的内容,网关起到了反向代理的功能,我们平时通过浏览器访问远程的web服务器大都是这样实现的。 正向代理:就是上面的过程反过来,我们平时说的代理上网,局域网中的用户通过网关做代理访问外部的网络。nginx的具体测试配置如下:

 #user  nobody;
worker_processes 1;
error_log /var/log/nginx/error.log debug;
events {    
use epoll;    
worker_connections 1024;
} 
http {    
resolver 8.8.8.8;    
server {        
listen 8080;        
location / {           
      proxy_pass http://$http_host$request_uri;       
 }    
}
}

nginx实现代理上网,就是3步

  1. 增加dns解析resolver,这个查看一下 /etc/resolv.conf文件中的配置,
  2. 增加server,server_name可以有也可以没有,如果没有则直接使用ip,如果有则使用域名设置浏览器代理地址
  3. proxy_pass指令添加 具体配置参考下面:
resolver 8.8.8.8;
server {    
listen 8080;    
server_name  zhwen.org;
location / {       
      proxy_pass http://$http_host$request_uri;    
}
}

配置ok之后重启nginx即可,这时在浏览器中设置代理地址和端口就可以了。