nginx - 如何将 Nginx 配置转换为 nginx-ingress?
问题描述
我有以下配置的nginx:
proxy_redirect off;
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;
client_max_body_size 1g;
client_body_buffer_size 128k;
proxy_connect_timeout 120;
proxy_send_timeout 240;
proxy_read_timeout 240;
proxy_buffers 32 4k;
proxy_hide_header Strict-Transport-Security;
proxy_hide_header Content-Type;
add_header Content-Type application/json;
我想将我的 nginx 配置转换为 kubernetes ingress-nginx(入口资源)。有没有办法使用 kubernetes Ingress 资源来实现这个配置?阅读 ingress-nginx 文档我还没有找到如何将 proxy_pass 或多次重写映射到 Ingress 资源。我将不胜感激参考一些具有类似配置的详细文档或示例。
解决方案
是的,可以使用片段和自定义模板来做到这一点,如nginxinc的 NGINX Ingress Controller 文档中所述。
通过 ConfigMap 使用 Snippets 的示例:
---
# Source: nginx-ingress/templates/controller-configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: nginx-config
labels:
app.kubernetes.io/name: nginx-ingress
helm.sh/chart: nginx-ingress-0.3.4
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: RELEASE-NAME
data:
server-snippets: |
location /helloworld {
proxy_redirect off;
proxy_http_version 1.1;
}
推荐阅读
- unity3d - 代理从它下面的 navmesh 上的 navmesh 掉下来
- php - Laravel Eloquent 关系 多对多
- python - Pygame 填充和 blit 不编辑屏幕
- python - 存储在图像中的像素值会自动更改。如果图像再次在另一个函数中打开
- facebook - Facebook Instant Articles HTML POST 错误
- python - 在一系列时间索引上绘制 DataFrame
- sql - 使用 createCriteria 的 Grails 子查询
- javascript - 在 textarea 中将结果显示为日志
- r - How to find the minimum and maximum in many rows per single value
- docker - Docker 中的 Dart 原生扩展