天天看點

Nginx反向代理及配置

什麼是反向代理?

反向代理(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,出現如下界面

  

Nginx反向代理及配置

  ②、通過修改本地 host 檔案,将 www.123.com 映射到 127.0.0.1

127.0.0.1 www.123.com      

  将上面代碼添加到 Windows 的host 檔案中,該檔案位置在:

   

Nginx反向代理及配置

  配置完成之後,我們便可以通過 www.123.com:8080 通路到第一步出現的 Tomcat初始界面。

  那麼如何隻需要輸入 www.123.com 便可以跳轉到 Tomcat初始界面呢?便用到 nginx的反向代理。

  ③、在 nginx.conf 配置檔案中增加如下配置:

Nginx反向代理及配置
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     }      
Nginx反向代理及配置

  如上配置,我們監聽80端口,通路域名為www.123.com,不加端口号時預設為80端口,故通路該域名時會跳轉到127.0.0.1:8080路徑上。

  我們在浏覽器端輸入 www.123.com (不需要輸入:8080,隐藏了端口)結果如下:

  

Nginx反向代理及配置

  ④、總結

  其實這裡更貼切的說是通過nginx代理端口,原先通路的是8080端口,通過nginx代理之後,通過80端口就可以通路了。

繼續閱讀