## 概念
* gateway默認會將服務名作為路由地址,比如服務名為jpower-system,那么我們就可以通過`http://gateway/jpower-system/**`進行請求轉發
* 有些時候,我們需要對網關進行額外的配置,比如做個反向代理、轉發服務名改為其他名稱。這種情況,一般需要前往bootstrap.yml文件進行配置,可是這樣帶來的問題是每次修改都需要重新打包,可見這并不是一個可以采納的解決方案,為了解決這類問題動態網關的方案由此而來。
* JPower采用了基于Nacos定制輕量級、高拓展性的動態網關方案
* 配置文件將保存在Nacos中,若網關配置有改動,直接修改發布便可即時刷新
## 如何配置
1. 找到對應的配置文件`jpower-gateway-dev.json`

2. 到nacos添加對應配置(**如果有其他同名的服務注冊,需要把order的值改成-1或者更小,否則無法轉發到本地**)

3. 為了方便測試,我們先把jpower-gateway服務里的鑒權攔截器代碼注釋掉,讓其不進行鑒權

4. 啟動jpower-gateway以及jpower-system

5. 訪問[http://localhost/github](http://localhost/github),發現反向代理配置成功

6. 然后我們訪問下[http://localhost/githubx](http://localhost/githubx), 發現返回的是404

7. 前往nacos編輯配置,把請求路徑/github改為/githubx,并保存

8. 不用重啟gateway,再次訪問[http://localhost/githubx](http://localhost/githubx)發現動態網關配置已經生效

9. 測試完成后記得把我們剛才注釋掉的鑒權代碼要恢復

## 結尾語
* 動態網關配置文件的命名規則取決于網關服務名加當前運行的環境來決定,例如當前網關服務名叫jpower-gateway,服務運行環境為dev,那動態網關配置文件名則叫`jpower-gateway-dev.json`。
* JPower封裝的動態網關參數為官方的`RouteDefiintion`類屬性,一切按照官方配置即可。
- 序言
- 開發環境準備
- 環境要求
- 環境安裝
- 基礎環境安裝
- Nacos安裝
- Sentinel安裝
- 插件安裝
- 導入工程
- 運行工程
- 工程測試
- JPower特性
- 系統啟動器
- 多終端令牌認證
- 系統鑒權
- 鑒權API
- 鑒權配置
- API權限配置
- 接口放行配置
- 數據權限
- redis緩存
- 動態網關
- 聚合文檔
- SaaS多租戶
- 概念
- 使用
- Xss防注入
- 日志記錄
- 操作日志&錯誤日志
- SQL打印
- feign請求日志&配置
- gateway日志
- 服務日志打印
- 導入導出
- 字典查詢
- 系統文件上傳下載
- 接口監控
- 代碼生成器
- 配置文件共享
- Mybatis過濾器
- 配置說明
- 高級實戰
- nacos動態配置
- Seata分布式事務
- 簡介
- docker啟動
- 微服務配置
- 微服務遠程調用
- 聲明式服務調用 Feign
- 熔斷機制 Sentinel
- sentinel流控
- 簡介
- 微服務配置
- 配置nacos對接
- APM監控&鏈路追蹤
- 簡介
- 安裝
- 微服務接入
- SpringBootAdmin監控
- ELK分布式日志追蹤系統
- ELK簡介
- ELK一鍵部署
- 微服務日志對接ELK
- JPower-Chat
- 配置說明
- 生產部署
- docker部署
- docker安裝
- docker-compose安裝
- harbor安裝
- 部署步驟
- 版本升級
- 1.0.1升級到2.0.0
- 2.0.0升級到2.0.2
- 2.0.2升級2.1.0
- 2.1.0升級到2.1.1
- 2.1.1升級到2.1.2
- 2.1.2升級到2.1.4