当前位置: 首页 > 知识库问答 >
问题:

Nginx入口在Kubernetes上返回502坏网关

益思博
2023-03-14
    null
kind: Pod
apiVersion: v1
metadata:
  name: dashboard-app
  labels:
    app: dashboard
spec:
  containers:
    - name: dashboard
      image: my_image_from_ecr
      ports:
        - containerPort: 8050

service-configuration-file.yml

kind: Service
apiVersion: v1
metadata:
  name: dashboard-service
spec:
  selector:
    app: dashboard
  ports:
    - port: 8050 # exposed port
      targetPort: 8050

ingress-configuration-file.yml(基于主机的路由)

kind: Ingress
metadata:
  name: dashboard-ingress
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
    nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: dashboard.my_domain
    http:
      paths:
      - backend:
          serviceName: dashboard-service
          servicePort: 8050
        path: /

我遵循了以下步骤:

kubectl apply -f pod-configuration-file.yml
kubectl apply -f service-configuration-file.yml
kubectl apply -f ingress-confguration-file.yml
kubectl logs my_pod:
Dash is running on http://127.0.0.1:8050/

 Warning: This is a development server. Do not use app.run_server
 in production, use a production WSGI server like gunicorn instead.

 * Serving Flask app "annotation_analysis" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: on
kubectl get ingress
NAME                           HOSTS                                            ADDRESS.           PORTS.   AGE                                                            
dashboard-ingress         dashboard.my_domain                  nginx-ingress.elb.aws-region.amazonaws.com   80      93s
kubectl describe ingress dashboard-ingress

输出结果是:

Name:             dashboard-ingress
Namespace:        default
Address:          nginx-ingress.elb.aws-region.amazonaws.com
Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
  Host                                            Path  Backends
  ----                                            ----  --------
  host.my-domain  
                                              /   dashboard-service:8050 (192.168.36.42:8050)
Annotations:                                      
nginx.ingress.kubernetes.io/force-ssl-redirect: false
                                              
nginx.ingress.kubernetes.io/rewrite-target: /
                                              
nginx.ingress.kubernetes.io/ssl-redirect: false
Events:                                           <none>

不幸的是,当我试图在浏览器上访问Dash应用程序时,我从Nginx得到了一个502坏网关错误。你能帮帮我吗?因为我的Kubernetes知识有限。提前谢了。

共有1个答案

支洋
2023-03-14

这与Kubernetes或AWS设置无关。我不得不将我的python破折号代码从:

if __name__ == "__main__":
    app.run_server(debug=True)

致:

if __name__ == "__main__":
    app.run_server(host='0.0.0.0',debug=True).

添加host='0.0.0.0'就成功了!

 类似资料:
  • 我的nginx.conf文件是这样的: 现在,在打开一些URL时,它抛出了502个坏网关,但对其他URL则没有。我犯的错误。日志为: 2019/01/10 23:53:39[错误]12139#12139:*5 recv()在从上游读取响应头时失败(104:由对等方重置连接),客户端:127.0。0.1,服务器:localhost,请求:“GET/wordpress/HTTP/2.0”,上游:fas

  • 我们最近从nginx入口控制器从0.8.2升级到0.11.0,并开始在大约10 MB或更高的大文件上传时出现502个坏网关错误,我们已将client_max_body_size设置为通过confimap中的proxy-body size500m并验证其设置。5-6 MB左右的较小文件工作正常。 日志中没有错误,只有这些消息。 修订-[修订]-[2018年3月25日:02:08:49 0000]“发

  • 我在裸机上安装了一个库伯内特斯集群(使用威睿虚拟机),节点如下 Metallb安装为集群的负载平衡器,calico安装为CNI 我还安装了带舵柄的nginx入口控制器 我部署了一个简单的nginx服务器进行测试 我使用负载均衡器类型的部署从metallb获得IP,工作正常,但当我添加入口时,尽管分配了IP,但我得到错误502坏网关,如下所示: 防火墙已启用,但所需端口已打开 我的服务和pods工作

  • 502网关错误。错误日志和nginx配置如下。有什么问题吗? [错误]7660#0:*10 connect()在连接到上游时失败(111:连接被拒绝),客户端:40.83。126.181,服务器:127.0。0.1,请求:“GET/HTTP/1.1”,上游:fastcgi://127.0.0.1:9000,主持人:“www.mysite.com” nginx。形态: vhost/home.conf

  • 服务器{ } 服务器{ curl-v-hhost:subdomain.mydomain.com https://subdomain.mydomain.com:30588 curl-v-hhost:subdomain.mydomain.com--解析subdomain.mydomain.com:30588:ip-address--cacert/opt/psa/var/certificates/scf

  • 好的,我正在本地运行一个应用程序,homestead.app:8000。我正在运行流浪,这是在我“流浪停止”为Nginx更改文档根然后流浪后才开始发生的。 Nginx正在将502坏网关返回到浏览器,我的测试域的错误日志声明如下: 2014/05/18 21:37:11[crit] 1368#0:*7连接()到unix:/var/run/php5-fpm.sock失败(2:没有这样的文件或目录),同