Ambassador映射引发301永久重定向问题排查求助
Ambassador/Emissary 映射301重定向异常问题
问题现象
- 访问
https://[api domain]/pubsub/[随机字符串],被301重定向至https://[api domain]/[相同随机字符串],返回404(主API服务的预期404结果) - 再次访问相同的
/pubsub/[随机字符串]路径,依然触发301重定向到根路径下的对应字符串,返回404 - 所有以
/pubsub开头的路径都会触发该问题,业务代码中无任何301重定向逻辑,确认是Emissary本身引发 - 使用已弃用的WebSocket域名访问时无此异常,推测是api域名下的两个映射冲突导致
相关配置
API映射配置
apiVersion: getambassador.io/v3alpha1 kind: Mapping metadata: name: api spec: prefix: / service: api regex_rewrite: pattern: ^/docs/$ substitution: /docs/index.html host: [api domain] timeout_ms: 60000
PubSub映射配置
apiVersion: getambassador.io/v3alpha1 kind: Mapping metadata: name: pubsub-api spec: prefix: /pubsub service: pubsub host: [api domain] timeout_ms: 60000 allow_upgrade: - websocket --- apiVersion: getambassador.io/v3alpha1 kind: Mapping metadata: name: pubsub-edge spec: prefix: / service: pubsub host: [deprecated websocket domain] timeout_ms: 60000 allow_upgrade: - websocket
Kustomize部署配置
apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - api - graphql - pubsub
排查尝试
曾推测是Kustomize部署顺序导致问题,将api映射调整至pubsub映射之后部署,结果反而导致API服务的合法请求返回空白响应,问题未解决
内容的提问来源于stack exchange,提问作者Adeithe
相关产品推荐
相关产品推荐

