前后端分離項目之------nginx路由轉發


需求:前后段分離的項目里面,一套系統有N套api,一套api就是一個獨立的站點,每個端口都需要開通外網,否則前端頁面無法訪問站點。有沒有一種方法,讓服務器只開一個外網端口?

解決思路:

  1. 規范api路由結構。暫且定義路由結構格式為:域名(IP)+端口+/api/controller/function。端口使用同一個,那么域名(IP)+端口是固定的,在nginx里面可以根據/api/controller來匹配路由
  • 接口1:   /api/sso/x1     /api/sso/x2  /api/sso/x3
  • 接口2:/api/open/x1  /api/open/x2 /api/open/x3
  • ..........

          2.配置nginx轉發路由

         

         配置解析舉例:

         location ~ /api/openmt {
         proxy_pass         http://localhost:8101;
        意思是將http請求中url包含  /api/openm 的全部轉發到  http://localhost:8101
        例如:http://xxxx/api/openmt/list1,        http://xxxx/api/openmt/list2 都轉發到  http://localhost:8101處理

        所有api站點共用一個端口


免責聲明!

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



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