我有以下配置的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(Ingress资源)。有没有办法使用kubernetes Ingress资源实现此配置?阅读ingress-nginx文档我还没有找到如何将proxy_pass或多次重写映射到Ingress资源。我将很高兴参考一些详细的文档或类似配置的示例。
是的可以使用片段和自定义模板,如nginxinc在NGINX Ingress Controller文档中解释的here。
通过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;
}