nginx的正向代理(nginx正向代理不支持https)
nginx正向代理架构图:
pc的浏览器上配置代理服务器的ip和端口,就可访问web服务器了。
正向代理,搭建nginx正向代理,代理内网客户机访问外网http://m5.baidu.com/
外网web: www.baidu.com
内网客户机(win7): 内网: 172.168.1.20 vmnet1
代理服务器(双网卡): 内网: 172.168.1.10 vmnet1 外网: 192.168.171.132 vmnet0(nat)
代理服务上:
[root@localhost network-scripts]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.171.132 netmask 255.255.255.0 broadcast 192.168.171.255
inet6 fe80::214f:4670:7654:995f prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:0e:af:1a txqueuelen 1000 (Ethernet)
RX packets 615 bytes 61853 (60.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 442 bytes 71135 (69.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.168.1.10 netmask 255.255.0.0 broadcast 172.168.255.255
inet6 fe80::50e3:bd37:c622:3ad6 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:0e:af:24 txqueuelen 1000 (Ethernet)
RX packets 133 bytes 16223 (15.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 24 bytes 2422 (2.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@localhost ~]# curl www.baidu.com
能访问外网
安装nginx(略)
主配置文件http模块下添加:/usr/local/nginx/conf/nginx.conf mkdir /usr/local/nginx/conf/vhost
include vhost/*.conf; #添加引用一个新的目录下的配置文件
[root@localhost ~]# echo index > /data/wwwroot/www.com/index.html
[root@localhost ~]# cat /usr/local/nginx/conf/vhost/www.1.conf
server {
listen 80 default_server;
resolver 119.29.29.29; #代理服务器帮客户端找域名时候,需要配置外面的根域名dns,能解析域名才行
location /
{
proxy_pass http://$host$request_uri; #实现代理的关键参数,$host是域名,$request_uri是访问的链接
}
}
address为DNS服务器的地址,国内通用的DNS 119.29.29.29为dnspod公司提供。 国际通用DNS 8.8.8.8或者8.8.4.4为google提供。
其他可以参考 http://dns.lisect.com/
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
本机作为客户端测试正向代理:
[root@localhost ~]# curl http://m5.baidu.com/
正常访问能访问外网(本身的外网卡访问)
[root@localhost ~]# curl -x127.0.0.1:80 http://m5.baidu.com/
#或:curl --proxy 127.0.0.1:80 http://m5.baidu.com/
通过本机nginx代理也能访问百度, 将www.baidu.com解析到自己nginx的正向代理,再由代理服务器访问外网
Win7客户机测试正向代理:
win7客户机不配置正向代理时候,在内网不能访问外网: http://m5.baidu.com/
win7客户端浏览器配置代理服务器(nginx的正向代理机器nginx的ip和端口80)后能访问外网:
点击确定,如下: