大佬教程收集整理的这篇文章主要介绍了ssl 终止负载均衡器后面的 Traefik 返回 404,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 K8s 设置,traefik 像这样暴露
kubernetes:
ingressClass: traefik
service:
nodePorts:
http: 32080
serviCEType: NodePort
在后面,我将一些请求转发到不同的服务
APIVersion: extensions/v1beta1
kind: Ingress
Metadata:
name: my-name
Annotations:
kubernetes.io/ingress.class: traefik
spec:
rules:
- host: my-host.com
http:
paths:
- path: /my-first-path
BACkend:
servicename: my-nodeJs-services
servicePort: 3000
当直接将 DNS 设置为解析到我的 ip 时,应用程序可以正常使用 http
http://my-host.com:32080/my-first-path
但是当有人通过 AWS ALB / API Gateway 添加 SSL 时,应用程序无法访问并出现 404-NotFound 错误
路线是这样的 https://my-host.com/my-first-path
在 AWS 规模上,他们配置了这样的东西
https://my-host.com => SSL Termination and => ForWARD all to 43.43.43.43:32080
我认为这会失败,因为 traefik 期望 http://my-host.com 而不是 https://my-host.com 这导致它无法找到匹配的路线?或者可能在 ssl 终止时,主机名丢失,导致 traefik 找不到路由?
遇到这种情况我该怎么办?
我对 ALB 不是很熟悉,但可能发生的情况是负载均衡器收到的请求包含标头 Host: my-host.com
,当它转发到您的入口控制器时,标头被 {{1} }.如果是这种情况,我会看到 3 种解决方案:
以上是大佬教程为你收集整理的ssl 终止负载均衡器后面的 Traefik 返回 404全部内容,希望文章能够帮你解决ssl 终止负载均衡器后面的 Traefik 返回 404所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。