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

访问部署在kubernetes上的Istio-Enbody时,Nginx坏网关502

景稳
2023-03-14

服务器{

listen ip-address:80 ;

      server_name subdomain.domain.com;
    server_name www.subdomain.domain.com;
    server_name ipv4.subdomain.domain.com;

location / {
proxy_pass http://ip-address:32038/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

proxy_http_version 1.1;


  fastcgi_read_timeout 3000;
}

}

服务器{

    listen ip-address:443 ssl http2;  

    server_name subdomain.domain.com;
    server_name www.subdomain.domain.com;
    server_name ipv4.subdomain.domain.com;

    ssl_certificate /opt/psa/var/certificates/scf83NyxP;
    ssl_certificate_key /opt/psa/var/certificates/scf83NyxP;
    ssl_client_certificate /opt/psa/var/certificates/scfrr8L8y;

    proxy_read_timeout 60;

    location / {
      proxy_pass https://ip-address:30588/;
      proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
    }

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/scf83nyxp https://subdomain.mydomain.com:30588

任何帮助都将非常感激。

谢谢

共有1个答案

华景明
2023-03-14

在不了解后端服务的情况下,我猜测它可能没有配备HTTPS。你可能只需要改变这一行...

proxy_pass https://ip-address:30588/;

到...

proxy_pass http://ip-address:30588/;

如果后端服务实际上需要通过https调用(不常见),那么我们需要查看该服务是如何配置的,因为nginx错误提示它没有正确处理SSL连接。

 类似资料:
  • null service-configuration-file.yml ingress-configuration-file.yml(基于主机的路由) 我遵循了以下步骤: 输出结果是: 不幸的是,当我试图在浏览器上访问Dash应用程序时,我从Nginx得到了一个502坏网关错误。你能帮帮我吗?因为我的Kubernetes知识有限。提前谢了。

  • 我的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

  • 我有几个AWS EC2实例,并在它们上部署了一个Rancher实例。在Rancher上,我使用Kubernetes部署了一个网站,它使用Istio部署来处理网络,我可以通过登录。我还使用AWS路由53来使URL工作,并使用nginx来实现跨EC2实例的负载平衡。 但是我希望能够只使用登录,因此删除端口。我有办法做到这一点吗? 编辑:我在31380上访问它,因为它被设置为使用NodePort(htt

  • 我在裸机上安装了一个库伯内特斯集群(使用威睿虚拟机),节点如下 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

  • 当我在当地尝试时,事情似乎运转良好。当我将它部署到我的Ubuntu生产服务器时,在从Google到endpoint的重定向回调过程中,我得到了一个错误。 如果我注释掉行,那么错误就消失了。在检查nginx错误日志时,我看到了以下错误 下面是Nginx的服务器配置块: 我对如何调试/解决这个问题束手无策。任何人的建议都将不胜感激。以下是到目前为止我的项目的链接https://github.com/t