nginx不仅可以来做反向代理,也可以用来做正向代理(透明代理,代理上网),nginx反向代理看这里
反向代理,外部机器通过网关访问网关后面服务器上的内容,网关起到了反向代理的功能,我们平时通过浏览器访问远程的web服务器大都是这样实现的。
正向代理,就是上面的过程反过来,我们平时说的代理上网,局域网中的用户通过网关做代理访问外部的网络。
nginx同样可以实现代理上网的功能,配置如下:
user www;
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 8088;
location / {
proxy_pass http://$http_host$request_uri;
}
}
}
nginx实现代理上网,有三个关键点必须注意,其余的配置跟普通的nginx一样
1.增加dns解析resolver
2.增加无server_name名的server
3.proxy_pass指令
具体实现步骤:
1.把如下配置填到你的配置文件http作用域,
resolver 8.8.8.8;
server {
listen 8088;
location / {
proxy_pass http://$http_host$request_uri;
}
}
2.重启nginx使配置文件生效
3.设置ie代理
4.可以使用代理上网了。
可以访问http://ip.quancha.cn检测代理是否生效
使用nginx代理上网后
使用nginx代理上网前