gpt4 book ai didi

kubernetes - Nginx入口 Controller 仍重定向到SSL

转载 作者:行者123 更新时间:2023-12-02 12:05:25 25 4
gpt4 key购买 nike

我遇到了这个问题。我的应用程序只需要使用WebSocket在SSL下接收连接。应该强制HTTP请求不被重定向。我的入口配置是

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: in-camonline
namespace: cl5
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.org/websocket-services: "svc-ws-api"
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
ingress.kubernetes.io/affinity: "ClientIP"
spec:
tls:
- hosts:
- foo.bar.com
secretName: cl5-secret
rules:
- host: foo.bar.com
http:
paths:
- path: /socket.io
backend:
serviceName: svc-ws-api
servicePort: 8000
- path: /
backend:
serviceName: svc-http-service
servicePort: 80

我还禁用了 ssl-redirect全局添加项到ConfigMap
kind: ConfigMap
apiVersion: v1
metadata:
name: nginx-configuration
namespace: ingress
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
data:
#use-proxy-protocol: "false"
ssl-redirect: "false"

现在,如果我确实使用curl请求,请求将不会被重定向。如果我尝试运行前端应用程序,则WSS之后的每个请求都将被强制重定向为使用HTTPS
Request URL: http://foo.bar.com/2/symbols
Request Method: OPTIONS
Status Code: 307 Internal Redirect
Referrer Policy: no-referrer-when-downgrade

关于如何实现这一建议?

最佳答案

最后,我整理了一下。如果有人正在阅读此书,那么您并不孤单!

除了 Jest ,nginx-controller在第一个HTTPS调用之后设置了头Strict-Transport-Security(在我的例子中是socket.io轮询)。此 header 强制浏览器对下一个请求使用TLS。您可以在这里阅读有关此标题的更多信息https://developer.mozilla.org/it/docs/Web/HTTP/Headers/Strict-Transport-Security

我所做的是禁用在hsts: false的ConfigMap对象上添加条目ingress-controller的选项。
您可以在这里找到更多信息https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#hsts
希望这可以帮到你 :)

关于kubernetes - Nginx入口 Controller 仍重定向到SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53883080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com