跳转到主要内容

ingress-nginx的几个小技巧

所有注释:https://qq829.cn/book/books/k8s/page/nginx-ingress

一个ingress绑定多个域名

原来我们是直接克隆一个,需要同时修改两个,非常麻烦


# 类似nginx.conf的  server_name 
nginx.ingress.kubernetes.io/server-alias: a.com,b.com

后端路径不与前端路径不一致的时候重写

# ingress的path设置为/xxx/(.*),这是一个正则匹配,请自行gpt

nginx.ingress.kubernetes.io/rewrite-target: $2

使用https访问后端


nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"

增加IP白名单


# 类似deny,allow
nginx.ingress.kubernetes.io/whitelist-source-range: 10.0.0.0/24,172.10.0.1

设置IP黑名单


# 类似deny
nginx.ingress.kubernetes.io/denylist-source-range: 10.0.0.0/24,172.10.0.1


增加基础身份验证


# 使用basic认证
# 创建一个键值对(opaque)密钥,
# 键为 auth
# 值为 htpasswd -c auth username 生成
# 在线生成 https://www.bejson.com/encrypt/htpasswd/

# 为ingress增加注解
nginx.ingress.kubernetes.io/auth-type: basic
nginx.ingress.kubernetes.io/auth-secret: basic-auth