k8s中,通过Nginx访问服务失败

问题描述 投票:0回答:1

我想通过Nginx作为反向代理访问后端服务,启用tls。然而,它抱怨

502 Bad Gateway
错误。配置应该有问题,但我不知道,如果有任何建议请帮忙:

nginx.conf:

server {
    # listen             8080;
    listen 8443 ssl;
    server_name loki-gateway.logging.svc.cluster.local;
    ssl_certificate /etc/nginx/certs/tls.crt;
    ssl_certificate_key /etc/nginx/certs/tls.key;

    location = / {
        return 200 'OK';
        auth_basic off;
    }

    location = /memberlist {
        proxy_ssl_server_name on;
        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_pass       https://loki-write.logging.svc.cluster.local:3100$request_uri;
    }

}

nginx 服务:

loki-gateway                ClusterIP   10.96.126.183   <none>        80/TCP,8443/TCP

nginx Pod:

loki-gateway-84ccff7fd7-nt49p   1/1     Running   0          16m   172.16.135.144

无论我从哪里卷曲网关服务或 Pod,响应都是相同的,除了卷曲“/”。

kubernetes nginx nginx-reverse-proxy
1个回答
0
投票

Nginx 中的 502 Bad Gateway 错误可能是由多种因素引起的,包括连接问题、服务器过载、DNS 问题、防火墙限制和配置错误。

在您的情况下,您的 nginx 缺少缓冲区配置,这可能会导致潜在的“上游发送过大标头”错误。

您可能想尝试将此缓冲区配置添加到 Nginx 服务器块中:

server {
    proxy_busy_buffers_size 512k;
    proxy_buffers 4 512k;
    proxy_buffer_size 256k;
    # rest of the nginx config
}

这可以帮助缓解“上游发送过大标头”错误并解决 502 Bad Gateway 问题。

如果这不能解决您的 502 Bad Gateway,请尝试检查 nginx 错误日志

/var/log/nginx/error.log
并查找特定的错误消息和警告。

© www.soinside.com 2019 - 2024. All rights reserved.