【发布时间】:2020-11-27 15:23:44
【问题描述】:
我将 Spring Cloud Gateway 用作 API 网关,也用作托管 Vue.js SPA 的静态文件 (html/js/css) 的网络服务器。
Preclaimer:由于组织限制,我无法更改这个(糟糕的)架构。
目前,我正在使用默认的 Vue 路由器 hash 模式,这意味着 Vue 应用程序的客户端路由是通过 URL 哈希完成的,例如
http://hostname/#/route?parameter1=true
由于 Spring Cloud Gateway 还充当身份验证网关,因此它重定向到 OAuth2/OpenID SSO 服务器,并通过这样做,在重定向后丢弃 URL 哈希的路由信息。
我正在尝试通过切换到 Vue Router's history mode 来改变这种行为,这将启用类似的 URL
http://hostname/route?parameter1=true
因此,路由信息将“幸存”SSO 重定向。
为此,Vue 路由器文档包括 some examples for additional Webserver configuration (like mod_rewrite for Apache etc.)。
遗憾的是,我的特殊情况没有包含示例;-)
我扫描了Spring Cloud Gateway 的文档,但没有找到与此案例匹配的内容。
简而言之:
是否可以配置 Spring Cloud Gateway 以匹配 Vue Router 的历史模式要求?
【问题讨论】:
标签: vue.js mod-rewrite vue-router spring-cloud-gateway reactor-netty