什麼是反向代理?
反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然後將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現爲一個反向代理服務器。
反向代理的好處
1、保護了真實的web服務器,web服務器對外不可見,外網只能看到反向代理服務器,而反向代理服務器上並沒有真實數據,因此,保證了web服務器的資源安全。
2、反向代理爲基礎產生了動靜資源分離以及負載均衡的方式,減輕web服務器的負擔,加速了對網站訪問速度(動靜資源分離和負載均衡會以後說)
3、節約了有限的IP地址資源,企業內所有的網站共享一個在internet中註冊的IP地址,這些服務器分配私有地址,採用虛擬主機的方式對外提供服務;
Nginx反向代理配置
範例:使用 nginx 反向代理 www.123.com 直接跳轉到127.0.0.1:8080
①、啓動一個 tomcat,瀏覽器地址欄輸入 127.0.0.1:8080,出現如下界面
②、通過修改本地 host 文件,將 www.123.com 映射到 127.0.0.1
127.0.0.1 www.123.com
將上面代碼添加到 Windows 的host 文件中,該文件位置在:
配置完成之後,我們便可以通過 www.123.com:8080 訪問到第一步出現的 Tomcat初始界面。
那麼如何只需要輸入 www.123.com 便可以跳轉到 Tomcat初始界面呢?便用到 nginx的反向代理。
③、在 nginx.conf 配置文件中增加如下配置:
1 server { 2 listen 80; 3 server_name www.123.com; 4 5 location / { 6 proxy_pass http://127.0.0.1:8080; 7 index index.html index.htm index.jsp; 8 } 9 }
如上配置,我們監聽80端口,訪問域名爲www.123.com,不加端口號時默認爲80端口,故訪問該域名時會跳轉到127.0.0.1:8080路徑上。
我們在瀏覽器端輸入 www.123.com (不需要輸入:8080,隱藏了端口)結果如下:
④、總結
其實這裏更貼切的說是通過nginx代理端口,原先訪問的是8080端口,通過nginx代理之後,通過80端口就可以訪問了。