nginx詳解-nginx 配置實例-反向代理

反向代理實例一

實現效果:使用 nginx 反向代理,訪問 www.123.com 直接跳轉到 127.0.0.1:8080
實驗代碼
1) 啓動一個 tomcat,瀏覽器地址欄輸入 127.0.0.1:8080,出現如下界面

2)通過修改本地 host 文件,將 www.123.com 映射到 127.0.0.1  --->如果不在同一臺機器上,需要將127.0.0.1,替換成安裝tomcat機器的IP

配置完成之後,我們便可以通過 www.123.com:8080 訪問到第一步出現的 Tomcat 初始界面。那麼如何只需要輸入www.123.com 便可以跳轉到 Tomcat 初始界面呢?便用到 nginx的反向代理。
3)在 nginx.conf 配置文件中增加如下配置

如上配置,我們監聽 80 端口,訪問域名爲 www.123.com,不加端口號時默認爲 80 端口,故訪問該域名時會跳轉到 127.0.0.1:8080 路徑上。在瀏覽器端輸入 www.123.com 結果如下:

反向代理實例二

實現效果:使用 nginx 反向代理, 根據訪問的路徑跳轉到不同端口的服務中
nginx 監聽端口爲 9001,
訪問 http://127.0.0.1:9001/edu/ 直接跳轉到 127.0.0.1:8081
訪問 http://127.0.0.1:9001/vod/ 直接跳轉到 127.0.0.1:8082
 

實驗代碼
第一步,準備兩個 tomcat,一個 8001 端口,一個 8002 端口,並準備好測試的頁面
第二步,修改 nginx 的配置文件
在 http 塊中添加 server{}

location 指令說明


該指令用於匹配 URL。語法如下:

  • = :用於不含正則表達式的 uri 前,要求請求字符串與 uri 嚴格匹配,如果匹配成功,就停止繼續向下搜索並立即處理該請求。
  • ~:用於表示 uri 包含正則表達式,並且區分大小寫。
  • ~*:用於表示 uri 包含正則表達式,並且不區分大小寫。
  • ^~:用於不含正則表達式的 uri 前,要求 Nginx 服務器找到標識 uri 和請求字符串匹配度最高的 location 後,立即使用此 location 處理請求,而不再使用 location塊中的正則 uri 和請求字符串做匹配。
  • 注意:如果 uri 包含正則表達式,則必須要有 ~ 或者 ~* 標識。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章