Nginx设置为代理服务器上网

公司的网络部门抽风,突然之间不让办公机连接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即可,这时在浏览器中设置代理地址和端口就可以了。