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

前面講了如何配置Nginx虛擬主機,你們能夠去這裏看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category/1529997.htmlhtml

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

須要說明的是:因爲本文章是nginx系列文章中的一篇,文章裏面不少其餘的配置,可能前面的文章已經說講過,而後後續就沒有在介紹,若是出現有些配置沒有講,你們可能須要去看看前面的文章。web

 

什麼是反向代理

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

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

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

以下圖:網絡

 

 

配置Nginx反向代理

應用場景

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

         nginx服務器:192.168.78.132webapp

         tomcat1服務器:192.168.78.134jsp

    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實現反向代理講完了。雖然步驟比較多,可是操做起來仍是比較簡單的。

相關文章
相關標籤/搜索