首页 > 解决方案 > 使用Helm安装时如何配置nginx?

问题描述

根据这篇文章,在 Kubernetes 集群中使用 https 和 Nginx 后面的 Azure AD 身份验证运行 .NET Core 2.x 应用程序时,需要设置一些 nginx 属性:

NGINX 后面的 .Net Core 在 IdentityServer4 身份验证后返回 502 Bad Gateway

答案概述了如何为常规 Nginx 安装执行此操作,但我想在使用 Helm 在 Kubernetes 集群中安装 Nginx 时执行此操作。

这些是需要设置的 Nginx 属性:

nginx.conf:
    http{
    ...
    proxy_buffer_size   128k;
    proxy_buffers   4 256k;
    proxy_busy_buffers_size   256k;
    large_client_header_buffers 4 16k;
    ...
    }


default.conf:
location /{
    ...
    fastcgi_buffers 16 16k;
    fastcgi_buffer_size 32k;
    ...
}

我在 Kubernetes 集群中安装 Nginx 的命令是:

helm install stable/nginx-ingress --namespace kube-system

在 Kubernetes 集群中使用 Helm 安装 Nginx 时如何设置上述属性?

标签: .netnginxasp.net-corekuberneteskubernetes-helm

解决方案


我发现最简单的解决方案是在 Nginx 入口上使用注释,如下所示:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test-ingress
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/proxy-buffer-size: "16k"
    nginx.ingress.kubernetes.io/rewrite-target: /
...

推荐阅读