Nginx總結(五)如何配置nginx和tomcat實現反向代理


前面講了如何配置Nginx虛擬主機,大家可以去這里看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category/1529997.html

今天要說的是如何配置nginx和tomcat實現反向代理。

需要說明的是:由於本文章是nginx系列文章中的一篇,文章里面很多其他的配置,可能前面的文章已經說講過,然后后續就沒有在介紹,如果出現有些配置沒有講,大家可能需要去看看前面的文章。

 

什么是反向代理

         通常的代理服務器,只用於代理內部網絡對Internet的連接請求,客戶機必須指定代理服務器,並將本來要直接發送到Web服務器上的http請求發送到代理服務器中由代理服務器向Internet上的web服務器發起請求,最終達到客戶機上網的目的。這就是所謂的正向代理,一般就直接叫代理。

         反向代理(Reverse Proxy)則是指以代理服務器來接受internet上的連接請求,然后將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個反向代理服務器。

    Nginx 只做請求的轉發,后台有多個http服務器提供服務,nginx的作用就是把請求轉發給后面的服務器,決定吧請求轉發給誰處理。

如下圖:

 

 

配置Nginx反向代理

應用場景

         兩個tomcat服務通過nginx反向代理,本例子使用三台虛擬機進行測試,

         nginx服務器:192.168.78.132

         tomcat1服務器:192.168.78.134

    tomcat2服務器:192.168.78.135

如下圖:

 

 

環境准備

  1. 兩台 tomcat 服務器,我這里使用的是使用apache-tomcat-7.0.57版本,在192.168.78.134和192.168.78.135虛擬機上啟動tomcat。

  2. Nginx 服務器,這個之前安裝過,ip地址是:192.168.78.132

  3. 修改兩個tomcat下的webapps/ROOT/index.jsp的內容,使用tomcat1和tomcat2兩個服務首頁顯示不同的內容。

  4. 通過host文件指定aaa.test.com和bbb.test.com對應192.168.78.132虛擬機:修改window的hosts文件:(C:\Windows\System32\drivers\etc)

192.168.78.132 aaa.test.com
192.168.78.132 bbb.test.com

 

nginx反向代理配置

根據上邊的需求在nginx.conf文件中配置反向代理,如下:

#配置一個代理即tomcat1服務器
upstream tomcat_server1 {
    server 192.168.78.134:8080;
}

#配置一個代理即tomcat2服務器
upstream tomcat_server2 {
    server 192.168.78.135:8080;
}

#配置一個虛擬主機
server {
    listen 80;
    server_name aaa.test.com;
    location / {
        #域名aaa.test.com的請求全部轉發到tomcat_server1即tomcat1服務上
        proxy_pass http://tomcat_server1;

        #歡迎頁面,按照從左到右的順序查找頁面
        index index.jsp index.html index.htm;

    }
}

server {
    listen 80;
    server_name bbb.test.com;
    location / {
        #域名bbb.test.com的請求全部轉發到tomcat_server2即tomcat2服務上
        proxy_pass http://tomcat_server2;

        index index.jsp index.html index.htm;
    }
}

 

測試

分別訪問aaa.test.com、bbb.test.com測試反向代理。

 

通過上面的截圖可以看出:

請求訪問aaa.test.com通過nginx代理訪問tomcat1,

請求訪問bbb.test.com通過nginx代理訪問tomcat2。

 

最后

以上,就把如何配置nginx和tomcat實現反向代理講完了。雖然步驟比較多,但是操作起來還是比較簡單的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM