背景
通過一個域名指向多個服務
- 二級路區分
- 類型tomcat部署方式
問題
路徑請求存在問題
- 不是理想中的請求路徑
解決方案
網上資源
- 大部分文檔寫着
- nginx.ingress.kubernetes.io/rewrite-target=/
- 問題沒得到解決
- 是按照二級路徑區分轉發到了服務上,但是所以的請求都是 / 根路徑
解決方案一
使用域名前綴方案
- 微服務名稱-項目名稱-公司-com
- 通過域名直接解析到微服務
- 該請求路徑直接是到微服務路徑
- 注意: 不要設置 nginx.ingress.kubernetes.io/rewrite-target=/
- 該請求路徑直接是到微服務路徑
解決方案二
請求路徑截取方案
- 通過通配符的方式,設置占位符,截取指定路徑Url
- 示例
- /d/(.*) -- iptest服務路徑
- nginx.ingress.kubernetes.io/rewrite-target=/$1
- 原理
- Nginx 路徑重寫功能原理
配置方式截圖
備注
- 一個問題可以有多個解決方案。
- 使用哪種解決方案取決自己實際情況。
- 推薦使用
- 只有一個服務暴露的可以使用方案一
- 集成模型系統可以使用方案一
- 一個中心(項目)下N那個服務,可以使用方案二