gpt4 book ai didi

nginx - 在具有Nginx入口的GKE上使用socket.io

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

我正在尝试将socket.io集成到部署在Google Kubernetes Engine上的应用程序中。在本地开发,一切都很好。但是一旦部署,当我的套接字尝试连接时,我将不断收到可怕的400响应。我已经在SO和其他网站上搜索了几天,但没有找到能解决我问题的任何信息。

不幸的是,这种架构是由不再在我们公司工作的开发人员建立的,而且我当然不是Kubernetes或GKE专家,因此,我不确定我是否正确设置了所有架构。

这里是安装程序:

  • 我们有5个应用程序pod,可为分布在5个云节点(GCE vm实例)上的应用程序提供服务
  • 我们正在使用nginx入口 Controller (https://github.com/kubernetes/ingress-nginx)创建负载均衡器,以在节点之间分配流量

  • 到目前为止,这是我尝试过的方法:
  • 向入口添加以下注释:
  • nginx.ingress.kubernetes.io/affinity: "cookie"
    nginx.ingress.kubernetes.io/session-cookie-hash: "sha1"
    nginx.ingress.kubernetes.io/session-cookie-name: "route"
  • sessionAffinity: ClientIP添加到入口
  • 引用的后端服务中

    这些措施似乎没有什么区别,我仍然收到400的回复。如果有人遇到过类似的情况或有任何建议将我指向正确的方向,我将非常感激!

    最佳答案

    我只是使用与我们使用socket.io相同的配置来设置ngin入口。

    这是我的入口配置

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
    name: core-ingress
    annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.org/websocket-services : "app-test"
    nginx.ingress.kubernetes.io/rewrite-target: /
    certmanager.k8s.io/cluster-issuer: core-prod
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
    nginx.ingress.kubernetes.io/secure-backends: "true"
    nginx.ingress.kubernetes.io/websocket-services : "socket-service"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "1800"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "1800"

    spec:
    tls:
    - hosts:
    - <domain>
    secretName: core-prod
    rules:
    - host: <domain>
    http:
    paths:
    - backend:
    serviceName: service-name
    servicePort: 80

    我也面临着同样的问题,所以添加了 proxy-send-timeoutproxy-read-timeout

    关于nginx - 在具有Nginx入口的GKE上使用socket.io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53770981/

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