如何将CloudFlare流量转发至Azure Ingress Controller?排查404问题
可能遗漏的配置项
Ingress资源未添加目标域名规则
你的Ingress配置仅针对test.westus.cloudapp.azure.com做了路径映射,没有包含vatest.MY_DOMAIN这个域名。必须在Ingress的spec.rules.host字段中新增该域名,让Ingress Controller识别并转发对应域名的请求。示例配置片段:spec: rules: - host: test.westus.cloudapp.azure.com http: paths: - path: /v1/cloud pathType: Prefix backend: service: name: your-service-name port: number: 80 - host: vatest.MY_DOMAIN # 新增该域名规则 http: paths: - path: /v1/cloud pathType: Prefix backend: service: name: your-service-name port: number: 80CloudFlare SSL/TLS模式与Ingress配置不匹配
若CloudFlare开启了Flexible或FullSSL模式,而你的Ingress Controller未配置对应HTTPS证书,会导致请求转发异常。可以:- 临时将CloudFlare SSL模式设为
Off测试,确认是否为SSL问题; - 若需HTTPS,需在Ingress中绑定
vatest.MY_DOMAIN的有效证书(比如通过cert-manager生成)。
- 临时将CloudFlare SSL模式设为
CloudFlare缓存/页面规则拦截请求
检查CloudFlare是否针对vatest.MY_DOMAIN设置了缓存规则或页面规则,导致请求被拦截、重写。可以临时暂停缓存功能或清空现有缓存后重新测试。Ingress Controller未加载新域名配置
确认vatest.MY_DOMAIN的CNAME记录已生效(用nslookup vatest.MY_DOMAIN验证),同时重启Ingress Controller或触发配置重载,确保它能识别新增的域名规则。路径重写注解适配问题
若Ingress使用了nginx.ingress.kubernetes.io/rewrite-target这类路径重写注解,需确认针对新域名的路径匹配逻辑和原域名一致,避免因域名变更导致路径解析错误。
内容的提问来源于stack exchange,提问作者Erika
相关产品推荐
相关产品推荐

