jam*_*s93 7 nginx nlb amazon-web-services kubernetes nginx-ingress
我尝试了以下方法来让 HTTP 重定向到 HTTPS。我不确定我哪里出错了。
ingress-nginx 目的:
apiVersion: v1
kind: Service
metadata:
name: ingress-nginx
namespace: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
annotations:
service.beta.kubernetes.io/aws-load-balancer-type: nlb
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:...
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: https
spec:
type: LoadBalancer
selector:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
ports:
- name: http
port: 80
targetPort: http
- name: https
port: 443
targetPort: http
Run Code Online (Sandbox Code Playgroud)
my-ingress 目的:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-ingress
namespace: my-namespace
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/secure-backends: "true"
spec:
tls:
- hosts:
- app.example.com
rules:
- host: app.example.com
http:
paths:
- path: /
backend:
serviceName: my-service
servicePort: 80
Run Code Online (Sandbox Code Playgroud)
我得到了一个308 Permanent Redirect关于 HTTP 和 HTTPS 的信息。我想这是有道理的,因为 NLB 正在执行 SSL 终止并因此将 HTTP 转发到 Nginx 服务?我想我需要将 SSL 终止从 NLB 移动到 Nginx 服务?
谢谢
小智 6
我相信您确实需要将 SSL 终止移动到入口控制器,因为我遇到了同样的问题并且我似乎处于永久重定向状态。流量在 443 上进入 NLB,并被终止并通过端口 80 发送到后端实例。入口看到端口 80 上的流量并重定向到 https://,从而开始无限循环。
| 归档时间: |
|
| 查看次数: |
5372 次 |
| 最近记录: |