在k8s中部署前后端分離項目進行訪問的兩種配置方式


第一種方式

(1) nginx配置中只寫前端項目的/根路徑配置

前端項目使用的Dockerfile文件內容

把前端項目編譯后生成的dist文件夾放在nginx的html默認目錄下,瀏覽器訪問前端項目時加上這個前端目錄名

(2) 前端項目中直接寫后端項目訪問的http地址

(3) k8s配置中需要添加倆ingress規則

一個是使用網址訪問前端項目的,一個是使用網址訪問后端項目的

(4)整體訪問路徑

瀏覽器 --> nginx前端地址根路徑  --> 后端ingress地址
           瀏覽器(比如:賬號密碼登錄)  --> 后端ingress地址

第二種方式

(1) nginx配置中不僅寫前端項目的/根路徑配置,還會寫前端訪問后端的地址路徑配置

前端項目使用的Dockerfile文件內容

把前端項目編譯后生成的dist文件夾放在nginx的html默認目錄下,瀏覽器訪問前端項目時加上這個前端目錄名

nginx配置中多增加一個訪問后端的配置

(2) 前端項目中直接寫后端項目訪問的http地址

(3) k8s配置中只需要添加一個前端的ingress規則

(4)整體訪問路徑

瀏覽器 --> nginx前端地址根路徑  --> 后端ingress地址
          (比如:賬號密碼登錄) 
               |
               |--> nginx后端地址路徑 --> 后端ingress地址

方法一和方法二的比較

(1) 除了都需要給前端項目配置一個ingress規則外,方法一需要給后端項目配置一個ingress地址,方法二不需要
(2) nginx配置中除了都需要配置前端項目路徑外,方法二還需要配置后端項目地址,使用后端在k8s中部署的服務名的方式,方法一不需要
(3) 額外的考慮
方法一的nginx配置可以直接給其他前端項目使用,也就是說所有的前端項目使用統一的一個nginx.conf配置
方法二的則不行,每一套前后端項目都需要在前端nginx.conf中添加相應的配置,項目多的話配置會顯得nginx.conf配置臃腫且不好管理

方法一需要額外添加一個后端的ingress規則,這樣對后端服務的訪問來說是不是有點不安全,畢竟可以直接訪問使用,而方法二訪問后端服務,需要通過使用nginx進行代理訪問,安全性上是不是更好一些?

方法一和方法二的后端假如副本數都超過1,則前端訪問使用的話,應該都是通過使用ingress規則自帶的負載均衡 輪詢的方式來訪問使用的吧


免責聲明!

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



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