.net - 使用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 时如何设置上述属性?
解决方案
我发现最简单的解决方案是在 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: /
...
推荐阅读
- java - @ConditionalOnBean 即使创建了它也没有检测到 bean
- node.js - req.body 未定义...我该如何解决
- jenkins - 零星问题:Jenkins TFS 插件抛出 NumberFormatException
- swift - 如何将 swift 编译器版本更新为 5.1?
- solr - 从 SOLR 6.6 更新到 8.2 后 SOLR 自定义字段类型丢失
- python-3.x - fit_generator 中的 class_weight 作为 np.array 还是字典?
- sql - 查询以在没有年份的两个日期之间进行选择
- sql - SQL select based on column value unpivot/pivot column based to row based
- git - Git:在两个私有远程(GitHub)存储库中反映本地存储库更改
- git - 哪些文件要从 Flutter 项目上传到版本控制?