我们在 Kubernetes 集群上托管了基于 Angular 的 Web 应用程序。此应用程序的入口配置为添加基本 URL:
{
"kind": "Ingress",
"apiVersion": "extensions/v1beta1",
"metadata": {
"name": "test-app",
"namespace": "acceptance-testing",
...
"annotations": {
"kubernetes.io/ingress.class": "nginx",
"nginx.ingress.kubernetes.io/add-base-url": "true",
"nginx.ingress.kubernetes.io/rewrite-target": "/",
"nginx.ingress.kubernetes.io/ssl-redirect": "true"
}
},
"spec": {
"rules": [
{
"http": {
"paths": [
{
"path": "/at/test-app",
"backend": {
"serviceName": "test-app",
"servicePort": 80
}
}
]
}
}
]
},
...
}
当我们在浏览器中输入包含客户端路由部分的 URL 时,入口会将整个 URL 添加为基础,这在我们的场景中是不正确的。
例如对于https://server/at/test-app/some-page请求基本 URL 应该是https://server/at/test-app/但我们收到https://server/at/test-app/一些页面/
我们已经切换到 Angular 哈希路由位置策略,现在它可以正常工作,但我们想知道是否有某种方法可以使位置路由策略与 nginx 入口一起工作?
预先感谢您的帮助。
此致