傳統代理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
處理了。