ingress-nginx 注解兼容性

基本概念

ingress-nginx 是 Kubernetes 中常用的 Ingress 控制器,定义了许多注解,以实现超出官方 ingress 定义的各种功能。

支持的 ingress-nginx 注解

名称类型支持(v 表示支持 x 表示不支持 o 表示部分支持或可通过配置实现)
nginx.ingress.kubernetes.io/app-root字符串x
nginx.ingress.kubernetes.io/affinitycookieo ingress 不支持。alb 规则可以配置 cookie 哈希
nginx.ingress.kubernetes.io/use-regex布尔值
nginx.ingress.kubernetes.io/affinity-mode"balanced" 或 "persistent"o ingress 不支持。alb 规则可以配置会话持久性
nginx.ingress.kubernetes.io/affinity-canary-behavior"sticky" 或 "legacy"o ingress 不支持。alb 规则可以配置会话持久性
nginx.ingress.kubernetes.io/auth-realm字符串v auth
nginx.ingress.kubernetes.io/auth-secret字符串v auth
nginx.ingress.kubernetes.io/auth-secret-type字符串v auth
nginx.ingress.kubernetes.io/auth-type"basic" 或 "digest"v auth
nginx.ingress.kubernetes.io/auth-tls-secret字符串x
nginx.ingress.kubernetes.io/auth-tls-verify-depth数字x
nginx.ingress.kubernetes.io/auth-tls-verify-client字符串x
nginx.ingress.kubernetes.io/auth-tls-error-page字符串x
nginx.ingress.kubernetes.io/auth-tls-pass-certificate-to-upstream"true" 或 "false"x
nginx.ingress.kubernetes.io/auth-tls-match-cn字符串x
nginx.ingress.kubernetes.io/auth-url字符串v
nginx.ingress.kubernetes.io/auth-cache-key字符串x
nginx.ingress.kubernetes.io/auth-cache-duration字符串x
nginx.ingress.kubernetes.io/auth-keepalive数字x
nginx.ingress.kubernetes.io/auth-keepalive-share-vars"true" 或 "false"x
nginx.ingress.kubernetes.io/auth-keepalive-requests数字x
nginx.ingress.kubernetes.io/auth-keepalive-timeout数字x
nginx.ingress.kubernetes.io/auth-proxy-set-headers字符串v
nginx.ingress.kubernetes.io/auth-snippet字符串x
nginx.ingress.kubernetes.io/enable-global-auth"true" 或 "false"o auth
nginx.ingress.kubernetes.io/backend-protocol字符串v
nginx.ingress.kubernetes.io/canary"true" 或 "false"x
nginx.ingress.kubernetes.io/canary-by-header字符串x
nginx.ingress.kubernetes.io/canary-by-header-value字符串x
nginx.ingress.kubernetes.io/canary-by-header-pattern字符串x
nginx.ingress.kubernetes.io/canary-by-cookie字符串x
nginx.ingress.kubernetes.io/canary-weight数字x
nginx.ingress.kubernetes.io/canary-weight-total数字x
nginx.ingress.kubernetes.io/client-body-buffer-size字符串x
nginx.ingress.kubernetes.io/configuration-snippet字符串x
nginx.ingress.kubernetes.io/custom-http-errors[]intx
nginx.ingress.kubernetes.io/custom-headers字符串o
nginx.ingress.kubernetes.io/default-backend字符串o 可以使用 ingress 的 default-backend
nginx.ingress.kubernetes.io/enable-cors"true" 或 "false"v
nginx.ingress.kubernetes.io/cors-allow-origin字符串v
nginx.ingress.kubernetes.io/cors-allow-methods字符串v
nginx.ingress.kubernetes.io/cors-allow-headers字符串v
nginx.ingress.kubernetes.io/cors-expose-headers字符串x
nginx.ingress.kubernetes.io/cors-allow-credentials"true" 或 "false"x
nginx.ingress.kubernetes.io/cors-max-age数字x
nginx.ingress.kubernetes.io/force-ssl-redirect"true" 或 "false"v redirect
nginx.ingress.kubernetes.io/from-to-www-redirect"true" 或 "false"x
nginx.ingress.kubernetes.io/http2-push-preload"true" 或 "false"x
nginx.ingress.kubernetes.io/limit-connections数字x
nginx.ingress.kubernetes.io/limit-rps数字x
nginx.ingress.kubernetes.io/global-rate-limit数字x
nginx.ingress.kubernetes.io/global-rate-limit-windowdurationx
nginx.ingress.kubernetes.io/global-rate-limit-key字符串x
nginx.ingress.kubernetes.io/global-rate-limit-ignored-cidrs字符串x
nginx.ingress.kubernetes.io/permanent-redirect字符串v redirect
nginx.ingress.kubernetes.io/permanent-redirect-code数字v redirect
nginx.ingress.kubernetes.io/temporal-redirect字符串v redirect
nginx.ingress.kubernetes.io/preserve-trailing-slash"true" 或 "false"x
nginx.ingress.kubernetes.io/proxy-body-size字符串x
nginx.ingress.kubernetes.io/proxy-cookie-domain字符串x
nginx.ingress.kubernetes.io/proxy-cookie-path字符串x
nginx.ingress.kubernetes.io/proxy-connect-timeout数字v timeout
nginx.ingress.kubernetes.io/proxy-send-timeout数字v timeout
nginx.ingress.kubernetes.io/proxy-read-timeout数字v timeout
nginx.ingress.kubernetes.io/proxy-next-upstream字符串x
nginx.ingress.kubernetes.io/proxy-next-upstream-timeout数字x
nginx.ingress.kubernetes.io/proxy-next-upstream-tries数字x
nginx.ingress.kubernetes.io/proxy-request-buffering字符串x
nginx.ingress.kubernetes.io/proxy-redirect-from字符串x
nginx.ingress.kubernetes.io/proxy-redirect-to字符串x
nginx.ingress.kubernetes.io/proxy-http-version"1.0" 或 "1.1"x
nginx.ingress.kubernetes.io/proxy-ssl-secret字符串x
nginx.ingress.kubernetes.io/proxy-ssl-ciphers字符串x
nginx.ingress.kubernetes.io/proxy-ssl-name字符串x
nginx.ingress.kubernetes.io/proxy-ssl-protocols字符串x
nginx.ingress.kubernetes.io/proxy-ssl-verify字符串x
nginx.ingress.kubernetes.io/proxy-ssl-verify-depth数字x
nginx.ingress.kubernetes.io/proxy-ssl-server-name字符串x
nginx.ingress.kubernetes.io/enable-rewrite-log"true" 或 "false"x
nginx.ingress.kubernetes.io/rewrite-targetURIv
nginx.ingress.kubernetes.io/satisfy字符串x
nginx.ingress.kubernetes.io/server-alias字符串x
nginx.ingress.kubernetes.io/server-snippet字符串x
nginx.ingress.kubernetes.io/service-upstream"true" 或 "false"x
nginx.ingress.kubernetes.io/session-cookie-change-on-failure"true" 或 "false"x
nginx.ingress.kubernetes.io/session-cookie-conditional-samesite-none"true" 或 "false"x
nginx.ingress.kubernetes.io/session-cookie-domain字符串x
nginx.ingress.kubernetes.io/session-cookie-expires字符串x
nginx.ingress.kubernetes.io/session-cookie-max-age字符串x
nginx.ingress.kubernetes.io/session-cookie-name字符串x
nginx.ingress.kubernetes.io/session-cookie-path字符串x
nginx.ingress.kubernetes.io/session-cookie-samesite字符串x
nginx.ingress.kubernetes.io/session-cookie-secure字符串x
nginx.ingress.kubernetes.io/ssl-redirect"true" 或 "false"v
nginx.ingress.kubernetes.io/ssl-passthrough"true" 或 "false"x
nginx.ingress.kubernetes.io/stream-snippet字符串x
nginx.ingress.kubernetes.io/upstream-hash-by字符串x
nginx.ingress.kubernetes.io/x-forwarded-prefix字符串x
nginx.ingress.kubernetes.io/load-balance字符串x
nginx.ingress.kubernetes.io/upstream-vhost字符串v
nginx.ingress.kubernetes.io/denylist-source-rangeCIDRo 可通过 modsecurity 实现类似效果
nginx.ingress.kubernetes.io/whitelist-source-rangeCIDRo 可通过 modsecurity 实现类似效果
nginx.ingress.kubernetes.io/proxy-buffering字符串x
nginx.ingress.kubernetes.io/proxy-buffers-number数字x
nginx.ingress.kubernetes.io/proxy-buffer-size字符串x
nginx.ingress.kubernetes.io/proxy-max-temp-file-size字符串x
nginx.ingress.kubernetes.io/ssl-ciphers字符串x
nginx.ingress.kubernetes.io/ssl-prefer-server-ciphers"true" 或 "false"x
nginx.ingress.kubernetes.io/connection-proxy-header字符串x
nginx.ingress.kubernetes.io/enable-access-log"true" 或 "false"o 默认启用 access_log,格式固定
nginx.ingress.kubernetes.io/enable-opentelemetry"true" 或 "false"v otel
nginx.ingress.kubernetes.io/opentelemetry-trust-incoming-span"true" 或 "false"v otel
nginx.ingress.kubernetes.io/enable-modsecurity布尔值v modsecurity
nginx.ingress.kubernetes.io/enable-owasp-core-rules布尔值v modsecurity
nginx.ingress.kubernetes.io/modsecurity-transaction-id字符串v modsecurity
nginx.ingress.kubernetes.io/modsecurity-snippet字符串v modsecurity
nginx.ingress.kubernetes.io/mirror-request-body字符串x
nginx.ingress.kubernetes.io/mirror-target字符串x
nginx.ingress.kubernetes.io/mirror-host字符串x