Nginx實現統一端口反向代理多個服務


  最近在雲服務搭建java項目環境,用nginx部署一些自己開發的東西,在實現80端口代理前端頁面后試着想不再對外開通額外端口給到通過雲服務訪問另一個項目。

網上對於同一端口代理多個服務簡單明了,但是自己通過配置后存在許多誤區做以記錄。

  default.conf(nginx配置文件之一,或者其他配置文件中對應server項如下)

    server{

      listen  80;

      server_name  testdemo;

      #access_log  /var/log/nginx/host.access.log  main;

      location /  {

        root  /usr/share/nginx/html;

        index  index.html  index.htm;

      }#這項location配置是轉發到nginx自帶的首頁,我們做代理需要新增一項location配置如下

      

      location /cn  {#根據訪問nginx同一端口下的指定路徑做轉發代理,我們這里是‘/cn’

        proxy_pass  http://localhost:8080;

        #也就是如果nginx訪問路徑是‘http://www.baidu.com/’到nginx首頁面,那么訪問這個為‘http://www.baidu.com/cn’;

        #而且遇到后端服務問題是,需要設置contextPath進行路徑映射,這里nginx會通過該配置請求到后端‘http://localhost:8080/cn’,如果后端

        #服務沒有‘/cn’這個映射路徑是無正常代理成功!

      }

    }


免責聲明!

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



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