传统代理php
早期,咱们一般须要经过代理服务器,来访问互联网上的 WEB 站点。代理服务器接入了互联网,而咱们经过内部网络与代理服务器相连。安全
如今,为了访问某些被禁的网站,咱们也会经过特定的代理服务器,绕过某些限制,来访问目标站点。服务器
NAT网络
不过如今网关一般使用 NAT
- 网络地址转换。性能
将
PC
的内部IP
地址和网关的外网IP
地址进行相互转换,使得PC
发出的请求能够顺利到达外部网络的WEB
服务器。测试同时,将返回的正确数据正确的传送给内部网络的PC。网站
使用 NAT
,PC
便不用直接暴露在互联网中,提升了安全性能。代理
反向代理日志
Reverse Proxy
,与传统代理相反,WEB
服务器隐藏在代理服务器以后。code
这里咱们在一台服务器上,配置反向代理,采用 APACHE
和 NGINX
。
Nginx
做为 Apache
的反向代理,将用户的请求转发到 Apache
监听的 8081
端口。
[APACHE
]
Listen 8081
[NGINX
]
server_name www.test.com; listen 80; location ~ \.php$ { proxy_pass http://127.0.0.1:8081; }
测试一下:
ab -n5 http://www.test.com/phpinfo.php
查看日志:
[Nginx
]
127.0.0.1 - - [22/Aug/2014:11:42:17 +0800] "GET /phpinfo.php HTTP/1.0" 200 18 "-" "ApacheBench/2.3" 127.0.0.1 - - [22/Aug/2014:11:42:17 +0800] "GET /phpinfo.php HTTP/1.0" 200 18 "-" "ApacheBench/2.3" 127.0.0.1 - - [22/Aug/2014:11:42:17 +0800] "GET /phpinfo.php HTTP/1.0" 200 18 "-" "ApacheBench/2.3" 127.0.0.1 - - [22/Aug/2014:11:42:17 +0800] "GET /phpinfo.php HTTP/1.0" 200 18 "-" "ApacheBench/2.3" 127.0.0.1 - - [22/Aug/2014:11:42:17 +0800] "GET /phpinfo.php HTTP/1.0" 200 18 "-" "ApacheBench/2.3"
[Apache
]
127.0.0.1 - - [22/Aug/2014:11:42:17 +0800] "GET /phpinfo.php HTTP/1.0" 200 18 127.0.0.1 - - [22/Aug/2014:11:42:17 +0800] "GET /phpinfo.php HTTP/1.0" 200 18 127.0.0.1 - - [22/Aug/2014:11:42:17 +0800] "GET /phpinfo.php HTTP/1.0" 200 18 127.0.0.1 - - [22/Aug/2014:11:42:17 +0800] "GET /phpinfo.php HTTP/1.0" 200 18 127.0.0.1 - - [22/Aug/2014:11:42:17 +0800] "GET /phpinfo.php HTTP/1.0" 200 18
结论
从上述日志看出,Nginx
对于 php
文件的请求,所有都转到 Apache
处理了。