nginx-ingress配置卷(ConfigMaps)nginx-configuration翻译

ConfigMaps

ConfigMap允许您将配置工件与图像内容分离,以使容器化的应用程序具有可移植性。

ConfigMap API资源将配置数据存储为键值对。该数据为Nginx控制器提供了系统组件的配置。

为了覆盖config.go中所示的nginx-controller配置值,您可以将键值对添加到config-map的data部分。例如:

data:
  map-hash-bucket-size: "128"
  ssl-protocols: SSLv2

重要

ConfigMap中的键和值只能是字符串。这意味着我们想要一个带有布尔值的值,我们需要用引号将它们引号,例如“ true”或“ false”。数字也一样,例如“ 100”。

可以将Slice类型(以下定义为[]string[]int)作为逗号分隔的字符串。

Configuration options

下表显示了配置选项的名称,类型和默认值:

name type default
add-headers string ""
allow-backend-server-header bool "false"
hide-headers string array empty
access-log-params string ""
access-log-path string "/var/log/nginx/access.log"
http-access-log-path string ""
stream-access-log-path string ""
enable-access-log-for-default-backend bool "false"
error-log-path string "/var/log/nginx/error.log"
enable-modsecurity bool "false"
modsecurity-snippet string ""
enable-owasp-modsecurity-crs bool "false"
client-header-buffer-size string "1k"
client-header-timeout int 60
client-body-buffer-size string "8k"
client-body-timeout int 60
disable-access-log bool false
disable-ipv6 bool false
disable-ipv6-dns bool false
enable-underscores-in-headers bool false
enable-ocsp bool false
ignore-invalid-headers bool true
retry-non-idempotent bool "false"
error-log-level string "notice"
http2-max-field-size string "4k"
http2-max-header-size string "16k"
http2-max-requests int 1000
http2-max-concurrent-streams int 1000
hsts bool "true"
hsts-include-subdomains bool "true"
hsts-max-age string "15724800"
hsts-preload bool "false"
keep-alive int 75
keep-alive-requests int 100
large-client-header-buffers string "4 8k"
log-format-escape-json bool "false"
log-format-upstream string $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $request_length $request_time [$proxy_upstream_name] [$proxy_alternative_upstream_name] $upstream_addr $upstream_response_length $upstream_response_time $upstream_status $req_id
log-format-stream string [$remote_addr] [$time_local] $protocol $status $bytes_sent $bytes_received $session_time
enable-multi-accept bool "true"
max-worker-connections int 16384
max-worker-open-files int 0
map-hash-bucket-size int 64
nginx-status-ipv4-whitelist []string "127.0.0.1"
nginx-status-ipv6-whitelist []string "::1"
proxy-real-ip-cidr []string "0.0.0.0/0"
proxy-set-headers string ""
server-name-hash-max-size int 1024
server-name-hash-bucket-size int
proxy-headers-hash-max-size int 512
proxy-headers-hash-bucket-size int 64
plugins []string  
reuse-port bool "true"
server-tokens bool "false"
ssl-ciphers string "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384"
ssl-ecdh-curve string "auto"
ssl-dh-param string ""
ssl-protocols string "TLSv1.2 TLSv1.3"
ssl-session-cache bool "true"
ssl-session-cache-size string "10m"
ssl-session-tickets bool "false"
ssl-session-ticket-key string
ssl-session-timeout string "10m"
ssl-buffer-size string "4k"
use-proxy-protocol bool "false"
proxy-protocol-header-timeout string "5s"
use-gzip bool "false"
use-geoip bool "true"
use-geoip2 bool "false"
enable-brotli bool "false"
brotli-level int 4
brotli-types string "application/xml+rss application/atom+xml application/javascript application/x-javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/javascript text/plain text/x-component"
use-http2 bool "true"
gzip-level int 1
gzip-types string "application/atom+xml application/javascript application/x-javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/javascript text/plain text/x-component"
worker-processes string
worker-cpu-affinity string ""
worker-shutdown-timeout string "240s"
load-balance string "round_robin"
variables-hash-bucket-size int 128
variables-hash-max-size int 2048
upstream-keepalive-connections int 320
upstream-keepalive-timeout int 60
upstream-keepalive-requests int 10000
limit-conn-zone-variable string "$binary_remote_addr"
proxy-stream-timeout string "600s"
proxy-stream-next-upstream bool "true"
proxy-stream-next-upstream-timeout string "600s"
proxy-stream-next-upstream-tries int 3
proxy-stream-responses int 1
bind-address []string ""
use-forwarded-headers bool "false"
enable-real-ip bool "false"
forwarded-for-header string "X-Forwarded-For"
compute-full-forwarded-for bool "false"
proxy-add-original-uri-header bool "false"
generate-request-id bool "true"
enable-opentracing bool "false"
opentracing-operation-name string ""
opentracing-location-operation-name string ""
zipkin-collector-host string ""
zipkin-collector-port int 9411
zipkin-service-name string "nginx"
zipkin-sample-rate float 1.0
jaeger-collector-host string ""
jaeger-collector-port int 6831
jaeger-service-name string "nginx"
jaeger-sampler-type string "const"
jaeger-sampler-param string "1"
jaeger-sampler-host string "http://127.0.0.1"
jaeger-sampler-port int 5778
jaeger-trace-context-header-name string uber-trace-id
jaeger-debug-header string uber-debug-id
jaeger-baggage-header string jaeger-baggage
jaeger-trace-baggage-header-prefix string uberctx-
datadog-collector-host string ""
datadog-collector-port int 8126
datadog-service-name string "nginx"
datadog-environment string "prod"
datadog-operation-name-override string "nginx.handle"
datadog-priority-sampling bool "true"
datadog-sample-rate float 1.0
main-snippet string ""
http-snippet string ""
server-snippet string ""
location-snippet string ""
custom-http-errors []int []int
proxy-body-size string "1m"
proxy-connect-timeout int 5
proxy-read-timeout int 60
proxy-send-timeout int 60
proxy-buffers-number int 4
proxy-buffer-size string "4k"
proxy-cookie-path string "off"
proxy-cookie-domain string "off"
proxy-next-upstream string "error timeout"
proxy-next-upstream-timeout int 0
proxy-next-upstream-tries int 3
proxy-redirect-from string "off"
proxy-request-buffering string "on"
ssl-redirect bool "true"
whitelist-source-range []string []string
skip-access-log-urls []string []string
limit-rate int 0
limit-rate-after int 0
lua-shared-dicts string ""
http-redirect-code int 308
proxy-buffering string "off"
limit-req-status-code int 503
limit-conn-status-code int 503
no-tls-redirect-locations string "/.well-known/acme-challenge"
global-auth-url string ""
global-auth-method string ""
global-auth-signin string ""
global-auth-signin-redirect-param string "rd"
global-auth-response-headers string ""
global-auth-request-redirect string ""
global-auth-snippet string ""
global-auth-cache-key string ""
global-auth-cache-duration string "200 202 401 5m"
no-auth-locations string "/.well-known/acme-challenge"
block-cidrs []string ""
block-user-agents []string ""
block-referers []string ""
proxy-ssl-location-only bool "false"
default-type string "text/html"

add-headers

在将流量发送到客户端之前,从命名的configmap设置自定义标头。请参阅proxy-set-headers。例

allow-backend-server-header

启用从后端返回标头服务器,而不是从通用nginx字符串返回。default: is disabled

hide-headers

设置不会从上游服务器传递到客户端响应的其他标头。 default: empty

参考: http //nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header

access-log-params

access_log的其他参数。例如,buffer = 16k,gzip,flush = 1m

参考: http //nginx.org/en/docs/http/ngx_http_log_module.html#access_log

 

access-log-path

http和流上下文的访问日志路径。/var/log/nginx/access.log默认情况下转到。

注意:该文件/var/log/nginx/access.log是指向的符号链接/dev/stdout

http-access-log-path

全局访问http上下文的日志路径。 default: ""

注意:如果未指定,access-log-path将使用。

stream-access-log-path

全局访问流上下文的日志路径。 default: ""

    •  
目录
  • 配置选项
  • 添加标题
  • 允许后端服务器头
  • 隐藏标题
  • 访问日志参数
  • 访问日志路径
  • http-access-log-path
  • 流访问日志路径
  • 为默认后端启用访问日志
  • 错误日志路径
  • 启用安全性
  • 启用owasp-modsecurity-crs
  • modsecurity片段
  • 客户端头缓冲区大小
  • 客户头超时
  • 客户端主体缓冲区大小
  • 客户端超时
  • 禁用访问日志
  • 禁用-ipv6
  • 禁用-ipv6-dns
  • 启用标题下划线
  • 使能
  • 忽略无效的标题
  • 重试非幂等
  • 错误日志级别
  • http2-max-field-size
  • http2-max-header-size
  • http2-max-requests
  • http2-max-concurrent-streams
  • 科技
  • hsts-include-subdomains
  • 最高时长
  • hsts-preload
  • 活着
  • 保持活动请求
  • 大客户头缓冲区
  • 日志格式转义json
  • 日志格式上游
  • 日志格式流
  • 启用多重接受
  • max-worker-connections
  • max-worker-open-files
  • 映射哈希桶大小
  • 代理真实IP密码
  • 代理集标题
  • 服务器名称哈希最大大小
  • 服务器名称哈希桶大小
  • 代理标头哈希最大大小
  • 重用端口
  • 代理标头哈希桶大小
  • 外挂程式
  • 服务器令牌
  • 密码
  • ssl-ecdh曲线
  • ssl-dh-param
  • ssl协议
  • ssl-early-data
  • ssl会话缓存
  • ssl会话缓存大小
  • ssl会话门票
  • ssl-session-ticket-key
  • ssl-session-timeout
  • ssl-buffer-size
  • use-proxy-protocol
  • proxy-protocol-header-timeout
  • use-gzip
  • use-geoip
  • use-geoip2
  • enable-brotli
  • brotli-level
  • brotli-types
  • use-http2
  • gzip-level
  • gzip-min-length
  • gzip-types
  • worker-processes
  • worker-cpu-affinity
  • worker-shutdown-timeout
  • load-balance
  • variables-hash-bucket-size
  • variables-hash-max-size
  • upstream-keepalive-connections
  • upstream-keepalive-timeout
  • upstream-keepalive-requests
  • limit-conn-zone-variable
  • proxy-stream-timeout
  • proxy-stream-next-upstream
  • proxy-stream-next-upstream-timeout
  • proxy-stream-next-upstream-tries
  • proxy-stream-responses
  • bind-address
  • use-forwarded-headers
  • enable-real-ip
  • forwarded-for-header
  • compute-full-forwarded-for
  • proxy-add-original-uri-header
  • generate-request-id
  • enable-opentracing
  • opentracing-operation-name
  • opentracing-location-operation-name
  • zipkin-collector-host
  • zipkin-collector-port
  • zipkin-service-name
  • zipkin-sample-rate
  • jaeger-collector-host
  • jaeger-collector-port
  • jaeger-service-name
  • jaeger-sampler-type
  • jaeger-sampler-param
  • jaeger-sampler-host
  • jaeger-sampler-port
  • jaeger-trace-context-header-name
  • jaeger-debug-header
  • jaeger-baggage-header
  • jaeger-tracer-baggage-header-prefix
  • datadog-collector-host
  • datadog-collector-port
  • datadog-service-name
  • datadog-environment
  • datadog-operation-name-override
  • datadog-priority-sampling
  • datadog-sample-rate
  • main-snippet
  • http-snippet
  • server-snippet
  • location-snippet
  • custom-http-errors
  • proxy-body-size
  • proxy-connect-timeout
  • proxy-read-timeout
  • proxy-send-timeout
  • proxy-buffers-number
  • proxy-buffer-size
  • proxy-cookie-path
  • proxy-cookie-domain
  • proxy-next-upstream
  • proxy-next-upstream-timeout
  • proxy-next-upstream-tries
  • proxy-redirect-from
  • proxy-request-buffering
  • ssl-redirect
  • whitelist-source-range
  • skip-access-log-urls
  • limit-rate
  • limit-rate-after
  • lua-shared-dicts
  • http-redirect-code
  • proxy-buffering
  • limit-req-status-code
  • limit-conn-status-code
  • no-tls-redirect-locations
  • global-auth-url
  • 全局验证方法
  • 全局身份验证登录
  • 全局验证登录重定向参数
  • 全局验证响应头
  • 全局验证请求重定向
  • 全局身份验证代码段
  • 全局验证缓存密钥
  • 全局验证缓存持续时间
  • 无身份验证位置
  • 块索引
  • 阻止用户代理
  • 区块参照
  • 仅限代理SSL位置
  • 默认类型

ConfigMaps

ConfigMap允许您将配置工件与图像内容分离,以使容器化的应用程序具有可移植性。

ConfigMap API资源将配置数据存储为键值对。该数据为Nginx控制器提供了系统组件的配置。

为了覆盖config.go中所示的nginx-controller配置值,您可以将键值对添加到config-map的data部分。例如:

data:
  map-hash-bucket-size: "128"
  ssl-protocols: SSLv2

重要

ConfigMap中的键和值只能是字符串。这意味着我们想要一个带有布尔值的值,我们需要用引号将它们引号,例如“ true”或“ false”。数字也一样,例如“ 100”。

可以将Slice类型(以下定义为[]string[]int)作为逗号分隔的字符串。

配置选项

下表显示了配置选项的名称,类型和默认值:

名称 类型 默认
添加标题
允许后端服务器头 布尔 “假”
隐藏标题 字符串数组 空的
访问日志参数
访问日志路径 “ /var/log/nginx/access.log”
http-access-log-path
流访问日志路径
为默认后端启用访问日志 布尔 “假”
错误日志路径 “ /var/log/nginx/error.log”
启用安全性 布尔 “假”
modsecurity片段
启用owasp-modsecurity-crs 布尔 “假”
客户端头缓冲区大小 “ 1k”
客户头超时 整型 60
客户端主体缓冲区大小 “ 8k”
客户端超时 整型 60
禁用访问日志 布尔
禁用-ipv6 布尔
禁用-ipv6-dns 布尔
启用标题下划线 布尔
使能 布尔
忽略无效的标题 布尔 真正
重试非幂等 布尔 “假”
错误日志级别 “注意”
http2-max-field-size “ 4k”
http2-max-header-size “ 16k”
http2-max-requests 整型 1000
http2-max-concurrent-streams 整型 1000
科技 布尔 “真正”
hsts-include-subdomains 布尔 “真正”
最高时长 “ 15724800”
hsts-preload 布尔 “假”
活着 整型 75
保持活动请求 整型 100
大客户头缓冲区 “ 4 8k”
日志格式转义json 布尔 “假”
日志格式上游 $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $request_length $request_time [$proxy_upstream_name] [$proxy_alternative_upstream_name] $upstream_addr $upstream_response_length $upstream_response_time $upstream_status $req_id
日志格式流 [$remote_addr] [$time_local] $protocol $status $bytes_sent $bytes_received $session_time
启用多重接受 布尔 “真正”
max-worker-connections 整型 16384
max-worker-open-files 整型 0
映射哈希桶大小 整型 64
nginx-状态-ipv4-白名单 []串 “ 127.0.0.1”
nginx-status-ipv6-whitelist []串 “ :: 1”
代理真实IP密码 []串 “ 0.0.0.0/0”
代理集标题
服务器名称哈希最大大小 整型 1024
服务器名称哈希桶大小 整型
代理标头哈希最大大小 整型 512
代理标头哈希桶大小 整型 64
外挂程式 []串  
重用端口 布尔 “真正”
服务器令牌 布尔 “假”
密码 “ ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE -RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384“
ssl-ecdh曲线 “汽车”
ssl-dh-param
ssl协议 “ TLSv1.2 TLSv1.3”
ssl会话缓存 布尔 “真正”
ssl会话缓存大小 “ 10m”
ssl会话门票 布尔 “假”
ssl会话票证密钥
ssl会话超时 “ 10m”
ssl缓冲区大小 “ 4k”
使用代理协议 布尔 “假”
代理协议头超时 “ 5s”
使用gzip 布尔 “假”
使用地理 布尔 “真正”
use-geoip2 布尔 “假”
使能 布尔 “假”
肉鸡水平 整型 4
肉鸡型 “应用程序/ xml + rss应用程序/ atom + xml应用程序/ javascript应用程序/ x-javascript应用程序/ json应用程序/ rss + xml应用程序/vnd.ms-fontobject应用程序/ x-font-ttf应用程序/ x-web-app-manifest + json应用程序/ xhtml + xml应用程序/ xml字体/ opentype图片/ svg + xml图片/ x-icon文本/ css文本/ javascript文本/纯文本/ x组件”
使用-http2 布尔 “真正”
gzip级 整型 1个
gzip类型 “应用程序/ atom + xml应用程序/ javascript应用程序/ x-javascript应用程序/ json应用程序/ rss + xml应用程序/vnd.ms-fontobject应用程序/ x-font-ttf应用程序/ x-web-app-manifest + json应用程序/ xhtml + xml应用程序/ xml字体/ opentype图像/ svg + xml图像/ x-icon文本/ css文本/ javascript文本/纯文本/ x组件”
工人过程
工人-CPU亲和力
工人关机超时 “ 240s”
负载均衡 “ round_robin”
变量哈希桶大小 整型 128
变量哈希最大大小 整型 2048
上游-keepalive-连接 整型 320
上游Keepalive超时 整型 60
上游keepalive请求 整型 10000
极限连接区变量 “ $ binary_remote_addr”
代理流超时 “ 600s”
代理流下一个上游 布尔 “真正”
代理流下一个上游超时 “ 600s”
代理流下一个上游尝试 整型 3
代理流响应 整型 1个
绑定地址 []串
使用转发标头 布尔 “假”
启用真实IP 布尔 “假”
标题转发 “ X-Forwarded-For”
计算完全转发 布尔 “假”
代理添加原始uri标头 布尔 “假”
生成请求ID 布尔 “真正”
启用开放式跟踪 布尔 “假”
opentracing-操作名称
opentracing-location-operation-name
zipkin-collector-host
zipkin-collector-port 整型 9411
zipkin服务名称 “ nginx”
压缩样本率 浮动 1.0
jaeger-collector-host
Jaeger-collector-port 整型 6831
jaeger服务名称 “ nginx”
杰格采样器类型 “ const”
jaeger-sampler-param “ 1”
jaeger-sampler-host “ http://127.0.0.1”
杰格采样器端口 整型 5778
jaeger-trace-context-header-名称 uber-trace-id
jaeger-debug-header uber-debug-id
贾格行李箱头 积家行李
jaeger-trace-baggage-header-prefix uberctx-
数据狗收集器主机
数据狗收集器端口 整型 8126
datadog-service-name “ nginx”
数据狗环境 “产品”
数据狗操作名称覆盖 “ nginx.handle”
数据狗优先采样 布尔 “真正”
数据狗采样率 浮动 1.0
主片段
http-片段
服务器片段
位置摘要
自定义http错误 [] int [] int
代理主体大小 “ 1m”
代理连接超时 整型 5
代理读取超时 整型 60
代理发送超时 整型 60
代理缓冲区编号 整型 4
代理缓冲区大小 “ 4k”
代理cookie路径 “关闭”
代理Cookie域 “关闭”
代理下一个上游 “错误超时”
代理下一个上游超时 整型 0
代理下一个上游尝试 整型 3
代理重定向自 “关闭”
代理请求缓冲 “上”
ssl重定向 布尔 “真正”
白名单源范围 []串 []串
跳过访问日志网址 []串 []串
极限率 整型 0
限制后率 整型 0
lua-share-dicts
http重定向代码 整型 308
代理缓冲 “关闭”
极限要求状态码 整型 503
极限连接状态码 整型 503
no-tls-重定向位置 “ /。众所周知/ acme挑战”
全局验证网址
全局验证方法
全局身份验证登录
全局验证登录重定向参数 “ rd”
全局验证响应头
全局验证请求重定向
全局身份验证代码段
全局验证缓存密钥
全局验证缓存持续时间 “ 200 202 401 5m”
无身份验证位置 “ /。众所周知/ acme挑战”
块索引 []串
阻止用户代理 []串
区块参照 []串
仅限代理SSL位置 布尔 “假”
默认类型 “文本/ html”

add-headers

在将流量发送到客户端之前,从命名的configmap设置自定义标头。请参阅proxy-set-headers。例

allow-backend-server-header

启用从后端返回标头服务器,而不是从通用nginx字符串返回。默认值:禁用

hide-headers

设置不会从上游服务器传递到客户端响应的其他标头。 默认值:

参考: http //nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header

access-log-params

access_log的其他参数。例如,buffer = 16k,gzip,flush = 1m

参考: http //nginx.org/en/docs/http/ngx_http_log_module.html#access_log

access-log-path

http和流上下文的访问日志路径。/var/log/nginx/access.log默认情况下转到。

注意:该文件/var/log/nginx/access.log是指向的符号链接/dev/stdout

http-access-log-path

全局访问http上下文的日志路径。 默认值: “”

注意:如果未指定,access-log-path将使用。

stream-access-log-path

全局访问流上下文的日志路径。 默认值: “”

注意:如果未指定,access-log-path将使用。

enable-access-log-for-default-backend

全局访问流上下文的日志路径。default: is disabled.

error-log-path

错误日志路径。/var/log/nginx/error.log默认情况下转到。

注意:该文件/var/log/nginx/error.log是指向的符号链接/dev/stderr

参考: http //nginx.org/en/docs/ngx_core_module.html#error_log

 

enable-modsecurity

为NGINX启用modsecurity模块。 default: is disabled

enable-owasp-modsecurity-crs

启用OWASP ModSecurity核心规则集(CRS)。 default: is disabled

modsecurity-snippet

向Nginx配置的modsecurity部分添加自定义规则

client-header-buffer-size

允许配置自定义缓冲区大小以读取客户端请求标头。

参考: http //nginx.org/en/docs/http/ngx_http_core_module.html#client_header_buffer_size

 

client-header-timeout

定义读取客户端请求标头的超时(以秒为单位)。

参考: http //nginx.org/en/docs/http/ngx_http_core_module.html#client_header_timeout

 

client-body-buffer-size

设置用于读取客户端请求正文的缓冲区大小。

参考: http //nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size

 

client-body-timeout

定义读取客户端请求正文的超时时间(以秒为单位)。

参考: http //nginx.org/en/docs/http/ngx_http_core_module.html#client_body_timeout

 

disable-access-log

从整个Ingress Controller禁用访问日志。 default: '"false"'

参考: http //nginx.org/en/docs/http/ngx_http_log_module.html#access_log

disable-ipv6

禁用监听IPV6。default: false; 已启用IPv6侦听

disable-ipv6-dns

为Nginx DNS解析器禁用IPV6。default: false; 启用了IPv6解析。

enable-underscores-in-headers

在标题名称中启用下划线。 default: is disabled

enable-ocsp

启用在线证书状态协议装订(OCSP)支持。 default: is disabled

ignore-invalid-headers

设置是否忽略具有无效名称的头字段。 default: is enabled

retry-non-idempotent

从1.9.13开始,如果上游服务器发生错误,NGINX将不会重试非幂等请求(POST,LOCK,PATCH)。可以使用值“ true”恢复以前的行为。

error-log-level

配置错误的日志记录级别。以上日志级别按严重性从高到低的顺序列出。

参考: http //nginx.org/en/docs/ngx_core_module.html#error_log

 

http2-max-field-size

限制HPACK压缩的请求标头字段的最大大小。

参考: https //nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_field_size

 

http2-max-header-size

限制HPACK解压缩后整个请求标头列表的最大大小。

参考: https //nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_header_size

 

http2-max-requests

设置可以通过一个HTTP / 2连接提供服务的最大请求数(包括推送请求),之后下一个客户端请求将导致连接关闭以及需要建立新连接。

参考: http //nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_requests

 

http2-max-concurrent-streams

设置连接中并发HTTP / 2流的最大数量。

参考: http //nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_concurrent_streams

 

hsts

在运行SSL的服务器中启用或禁用标头HSTS。HTTP严格传输安全性(通常缩写为HSTS)是一项安全功能(HTTP标头),它告诉浏览器仅应使用HTTPS而不是使用HTTPS进行通信。它提供了针对协议降级攻击和cookie盗窃的保护。

参考文献:

  • https://developer.mozilla.org/zh-CN/docs/Web/Security/HTTP_strict_transport_security
  • https://blog.qualys.com/securitylabs/2016/03/28/the-importance-of-a-proper-http-strict-transport-security-implementation-on-your-web-server

hsts-include-subdomains

在服务器名称的所有子域中启用或禁用HSTS。

hsts-max-age

设置浏览器记住该站点仅使用HTTPS访问的时间(以秒为单位)。

hsts-preload

启用或禁用HSTS功能中的preload属性(启用时)dd

keep-alive

设置保持活动的客户端连接在服务器端保持打开状态的时间。零值将禁用保持活动状态的客户端连接。

参考: http //nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_timeout

 

keep-alive-requests

设置可以通过一个保持活动连接服务的最大请求数。

参考: http //nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_requests

 

large-client-header-buffers

设置用于读取大型客户端请求标头的缓冲区的最大数量和大小。默认值: 4 8k

参考: http //nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers

 

log-format-escape-json

设置转义参数是否允许JSON(“ true”)或在变量中转义的默认字符(“ false”)设置nginx日志格式。

log-format-upstream

设置nginx日志格式。json输出示例:

log-format-upstream: '{"time": "$time_iso8601", "remote_addr": "$proxy_protocol_addr", "x_forward_for": "$proxy_add_x_forwarded_for", "request_id": "$req_id",
  "remote_user": "$remote_user", "bytes_sent": $bytes_sent, "request_time": $request_time, "status": $status, "vhost": "$host", "request_proto": "$server_protocol",
  "path": "$uri", "request_query": "$args", "request_length": $request_length, "duration": $request_time,"method": "$request_method", "http_referrer": "$http_referer",
  "http_user_agent": "$http_user_agent" }'

请检查日志格式以了解每个字段的定义。

log-format-stream

设置nginx流格式。

enable-multi-accept

如果禁用,则辅助进程将一次接受一个新连接。否则,工作进程将一次接受所有新连接。 默认值: true

参考: http //nginx.org/en/docs/ngx_core_module.html#multi_accept

 

max-worker-connections

设置每个工作进程可以打开的最大同时连接数。0将使用max-worker-open-files的值。  default: 16384

Tip

在高负载的情况下使用0可以提高性能,但以增加RAM利用率(甚至在空闲时)为代价。

max-worker-open-files

设置每个工作进程可以打开的最大文件数。默认值为0表示“最大打开文件数(系统的限制)/ worker-processes -1024”。 default: 0

map-hash-bucket-size

设置映射变量哈希表的存储桶大小。设置哈希表的详细信息在单独的文档中提供。

proxy-real-ip-cidr

如果启用了use-forwarded-header或use-proxy-protocol,则proxy-real-ip-cidr定义默认的外部负载均衡器的IP /网络地址。

proxy-set-headers

在将流量发送到后端之前,从命名的configmap设置自定义标头。值格式为名称空间/名称。看例子

server-name-hash-max-size

设置服务器名称哈希表的最大大小,这些哈希表用于服务器名称,map指令的值,MIME类型,请求标头字符串的名称等。

参考: http //nginx.org/en/docs/hash.html

server-name-hash-bucket-size

设置服务器名称哈希表的存储桶大小。

参考文献:

  • http://nginx.org/en/docs/hash.html
  • http://nginx.org/zh-CN/docs/http/ngx_http_core_module.html#server_names_hash_bucket_size

proxy-headers-hash-max-size

设置代理标头哈希表的最大大小。

参考文献:

  • http://nginx.org/en/docs/hash.html
  • https://nginx.org/zh_CN/docs/http/ngx_http_proxy_module.html#proxy_headers_hash_max_size

reuse-port

指示NGINX为每个工作进程创建一个单独的侦听套接字(使用SO_REUSEPORT套接字选项),从而允许内核在工作进程之间分配传入的连接, default: true

proxy-headers-hash-bucket-size

设置代理标头哈希表的存储桶大小。

参考文献:

  • http://nginx.org/en/docs/hash.html
  • https://nginx.org/zh_CN/docs/http/ngx_http_proxy_module.html#proxy_headers_hash_bucket_size

plugins

激活安装在中的插件/etc/nginx/lua/plugins。有关如何编写和安装插件的更多信息,请参阅ingress-nginx插件自述文件。

server-tokens

在响应中发送NGINX Server标头,并在错误页面中显示NGINX版本。 default: is disabled

ssl-ciphers

设置要启用的密码列表。密码以OpenSSL库可以理解的格式指定。

默认密码列表为: ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384

密码套件的排序非常重要,因为它决定了优先选择哪些算法。以上建议优先考虑了提供完美前向保密性的算法。

在配置DH参数之前,基于DHE的密码将不可用自定义DH参数可实现完美的前向保密性

请检查Mozilla SSL配置生成器。

注意:默认情况下,将为http上下文启用ssl_prefer_server_ciphers指令。

ssl-ecdh-curve

指定ECDHE密码的曲线。

参考: http //nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ecdh_curve

 

ssl-dh-param

设置包含Diffie-Hellman密钥的机密名称,以帮助实现“ Perfect Forward Secrecy”。

参考文献:

  • https://wiki.openssl.org/index.php/Diffie-Hellman_parameters
  • https://wiki.mozilla.org/Security/Server_Side_TLS#DHE_handshake_and_dhparam
  • http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_dhparam

ssl-protocols

设置要使用的SSL协议。默认值为:TLSv1.2 TLSv1.3

请使用https://ssllabs.com/ssltest/analyze.html或检查配置结果https://testssl.sh

ssl-early-data

启用或禁用TLS 1.3早期数据,也称为零往返时间恢复(0-RTT)。

这要求ssl-protocols已经TLSv1.3启用。请谨慎启用此功能,因为在早期数据中发送的请求会受到重放攻击。

ssl_early_data。The default is: false.

ssl-session-cache

启用或禁用工作进程之间共享SSL缓存的使用。

ssl-session-cache-size

设置所有工作进程之间的SSL共享会话缓存的大小。

ssl-session-tickets

通过TLS会话票证启用或禁用会话恢复。

ssl-session-ticket-key

设置用于加密和解密TLS会话票证的密钥。该值必须是有效的base64字符串。要创建票证:openssl rand 80 | openssl enc -A -base64

TLS会话票证密钥,默认情况下,使用随机生成的密钥。

ssl-session-timeout

设置客户端可以重复使用存储在缓存中的会话参数的时间。

ssl-buffer-size

设置用于发送数据的SSL缓冲区的大小。默认的4k可以帮助NGINX改善TLS首字节时间(TTTFB)。

参考: https //www.igvita.com/2013/12/16/optimizing-nginx-tls-time-to-first-byte/

 

use-proxy-protocol

启用或禁用PROXY协议,以接收通过代理服务器和负载均衡器(例如HAProxy和Amazon Elastic Load Balancer(ELB))传递的客户端连接(真实IP地址)信息。

proxy-protocol-header-timeout

设置用于接收代理协议标头的超时值。默认值为5秒可防止TLS直通处理程序无限期地等待断开的连接。 default: 5s

use-gzip

使用“ gzip”模块启用或禁用HTTP响应的压缩。要压缩的MIME类型由gzip-types控制。 default: false

use-geoip

使用预编译的MaxMind数据库启用或禁用“ geoip”模块,该模块使用取决于客户端IP地址的值来创建变量。 default: true

注意: MaxMind旧版数据库已停产,并且在2019年1月2日之后将不会接收更新,请参见。停产通知书。考虑下面的use-geoip2。

use-geoip2

为NGINX启用geoip2模块。由于0.27.0且由于MaxMind数据库的更改,需要许可证才能访问数据库。因此,需要--maxmind-license-key在入口控制器部署中定义一个新标志,以下载在入口控制器初始化期间所需的数据库。另外,也可以使用卷来装载文件/etc/nginx/geoip/GeoLite2-City.mmdb/etc/nginx/geoip/GeoLite2-ASN.mmdb,从而避免了下载的开销。

重要

如果启用了该功能但文件丢失,则不会启用GeoIP2。

default: false

enable-brotli

使用“ brotli”模块启用或禁用HTTP响应的压缩。要压缩的默认mime类型列表为:application/xml+rss application/atom+xml application/javascript application/x-javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/plain text/x-componentdefault: is disabled

注意: Brotli在Safari <11中不起作用。有关更多信息,请参见https://caniuse.com/#feat=brotli

brotli-level

设置将使用的Brotli压缩级别。default: 4

brotli-types

设置将由brotli即时压缩的MIME类型。 default: application/xml+rss application/atom+xml application/javascript application/x-javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/plain text/x-component

use-http2

在安全连接中启用或禁用HTTP / 2支持。

gzip-level

设置将使用的gzip压缩级别。 default: 1

gzip-min-length

可以进行gzip压缩之前返回给客户端的响应的最小长度(以字节为单位)。 default: 256

gzip-types

设置除“ text / html”以外的MIME类型以进行压缩。特殊值“ *”与任何MIME类型匹配。如果use-gzip启用,则始终压缩“ text / html”类型的响应。 default: application/atom+xml application/javascript application/x-javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/plain text/x-component.

worker-processes

设置工作进程数。默认值“ auto”表示可用的CPU内核数。

worker-cpu-affinity

将工作进程绑定到CPU组。worker_cpu_affinity。默认情况下,辅助进程未绑定到任何特定的CPU。该值可以是:

  • “”:空字符串表示未应用任何亲和力。
  • cpumask:例如0001 0010 0100 1000,将进程绑定到特定的cpus。
  • auto:将工作进程自动绑定到可用的CPU。

worker-shutdown-timeout

设置Nginx等待工作者正常关闭的超时时间 default: "240s"

load-balance

设置用于负载平衡的算法。该值可以是:

  • round_robin:使用默认的循环负载均衡器
  • ewma:使用Peak EWMA方法进行路由(实现)

默认值为round_robin

  • 要使用IP或其他变量的一致哈希进行负载平衡,请考虑nginx.ingress.kubernetes.io/upstream-hash-by注释。
  • 要使用会话cookie进行负载平衡,请考虑nginx.ingress.kubernetes.io/affinity注释。

参考: http //nginx.org/en/docs/http/load_balancing.html

 

variables-hash-bucket-size

设置变量哈希表的存储桶大小。

参考: http //nginx.org/en/docs/http/ngx_http_map_module.html#variables_hash_bucket_size

 

variables-hash-max-size

设置变量哈希表的最大大小。

参考: http //nginx.org/en/docs/http/ngx_http_map_module.html#variables_hash_max_size

 

upstream-keepalive-connections

激活缓存以连接到上游服务器。connections参数设置每个工作进程的高速缓存中保留的与上游服务器的空闲保持连接的最大数量。超过此数量时,将关闭最近最少使用的连接。 default: 320

参考: http //nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive

upstream-keepalive-timeout

设置一个超时,在此超时期间,与上游服务器的空闲keepalive连接将保持打开状态。default: 60

References: http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive_timeout

upstream-keepalive-requests

设置通过一个keepalive连接可以处理的最大请求数。达到最大请求数后,连接将关闭。 default: 10000

参考: http //nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive_requests

limit-conn-zone-variable

设置共享内存区域的参数,该参数将保持limit_conn_zone的各个键的状态。变量“ $ binary_remote_addr”的默认大小始终为4字节(对于IPv4地址)或16字节(对于IPv6地址)。

proxy-stream-timeout

设置客户端或代理服务器连接上两次连续的读取或写入操作之间的超时。如果在此时间内没有数据传输,则连接将关闭。

参考: http //nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_timeout

proxy-stream-next-upstream

如果无法建立与代理服务器的连接,请确定是否将客户端连接传递给下一台服务器。

参考: http //nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream

 

proxy-stream-next-upstream-timeout

限制将连接传递到下一台服务器所允许的时间。0值关闭此限制。

参考: http //nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream_timeout

 

proxy-stream-next-upstream-tries

限制将请求传递到下一个服务器的可能尝试次数。0值关闭此限制。

参考: http //nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream_tries

 

proxy-stream-responses

如果使用UDP协议,则设置代理服务器响应客户端请求而期望的数据报数。

参考: http //nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_responses

 

bind-address

设置服务器将接受请求而不是*的地址。应当注意,这些地址必须存在于运行时环境中,否则控制器将崩溃。

use-forwarded-headers

如果为true,NGINX将传入的X-Forwarded-*标头传递给上游。当NGINX位于另一个正在设置这些标头的L7代理/负载平衡器之后时,请使用此选项。

如果为false,则NGINX将忽略传入的X-Forwarded-*标头,并用看到的请求信息填充它们。如果NGINX直接暴露于Internet或位于基于L3 /数据包的负载均衡器之后,而该负载均衡器不会更改数据包中的源IP,请使用此选项。

enable-real-ip

enable-real-ip启用http://nginx.org/en/docs/http/ngx_http_realip_module.html的配置。可以使用forwarded-for-headerproxy-real-ip-cidr设置进一步配置模块的特定属性。

forwarded-for-header

设置标头字段,用于标识客户端的原始IP地址。 default: X-Forwarded-For

compute-full-forwarded-for

将远程地址附加到X-Forwarded-For标头,而不是替换它。启用此选项后,上游应用程序将根据自己的受信任代理列表提取客户端IP。

proxy-add-original-uri-header

将具有原始请求URI的X-Original-Uri标头添加到后端请求

generate-request-id

如果请求中不存在X-Request-ID,则确保X-Request-ID默认为随机值

enable-opentracing

启用nginx Opentracing扩展。default: is disabled

References: https://github.com/opentracing-contrib/nginx-opentracing

opentracing-operation-name

指定服务器范围的自定义名称。 default: is empty

例如,设置为"HTTP $request_method $uri".

opentracing-location-operation-name

指定位置范围的自定义名称。default: is empty

例如,设置为"HTTP $request_method $uri".

zipkin-collector-host

指定上载跟踪时要使用的主机。它必须是一个有效的URL。

zipkin-collector-port

指定上载跟踪时要使用的端口。 default: 9411

zipkin-service-name

指定用于创建的任何跟踪的服务名称。default: nginx

zipkin-sample-rate

指定创建的任何跟踪的采样率。default: 1.0

jaeger-collector-host

指定上载跟踪时要使用的主机。它必须是一个有效的URL。

jaeger-collector-port

指定上载跟踪时要使用的端口。default: 6831

jaeger-service-name

指定用于创建的任何跟踪的服务名称。default: nginx

jaeger-sampler-type

指定采样轨迹时要使用的采样器。可用的采样器有:const,概率,速率限制,远程。 default: const

jaeger-sampler-param

指定要传递给采样器构造函数的参数。必须是数字。对于const,应为0(从不采样)和1(始终采样)。default: 1

jaeger-sampler-host

指定要传递给采样器构造函数的自定义远程采样器主机。必须是有效的网址。保留空白以使用默认值(localhost)。 default: http://127.0.0.1

jaeger-sampler-port

指定要传递给采样器构造函数的自定义远程采样器端口。必须是数字。default: 5778

jaeger-trace-context-header-name

指定用于传递跟踪上下文的标头名称。 default: uber-trace-id

jaeger-debug-header

指定用于强制采样的标题名称。 default: jaeger-debug-id

jaeger-baggage-header

指定没有根跨度时用于提交行李的标头名称。default: jaeger-baggage

jaeger-tracer-baggage-header-prefix

指定用于传播行李的标题前缀。 default: uberctx-

datadog-collector-host

指定上载跟踪时要使用的datadog代理主机。它必须是一个有效的URL。

datadog-collector-port

指定上载跟踪时要使用的端口。 default: 8126

datadog-service-name

指定用于创建的任何跟踪的服务名称。 default: nginx

datadog-environment

指定此跟踪所属的环境。default: prod

datadog-operation-name-override

覆盖用于创建任何痕迹的操作名。default: nginx.handle

datadog-priority-sampling

指定使用客户端采样。如果为true,则禁用客户端采样(因此忽略sample_rate)并启用分布式优先级采样,其中基于用户分配的优先级和来自代理的配置的组合对跟踪进行采样。 default: true

datadog-sample-rate

指定创建的任何跟踪的采样率。只有当这是有效datadog-priority-samplingfalse default: 1.0

main-snippet

将自定义配置添加到nginx配置的主要部分。

http-snippet

将自定义配置添加到nginx配置的http部分。

server-snippet

将自定义配置添加到nginx配置中的所有服务器。

location-snippet

将自定义配置添加到nginx配置中的所有位置。

您不能使用它来添加代理到Kubernetes容器的新位置,因为该片段无法访问Go模板功能。如果要添加自定义位置,则必须提供自己的nginx.tmpl。

custom-http-errors

启用应使用error_page指令传递哪些HTTP代码进行处理

设置至少一个代码还使得proxy_intercept_errors它们都需要处理error_page。

用法示例: custom-http-errors: 404,415

proxy-body-size

设置客户端请求正文的最大允许大小。参见NGINX client_max_body_size。

proxy-connect-timeout

设置与代理服务器建立连接的超时。请注意,此超时通常不能超过75秒。

proxy-read-timeout

设置以秒为单位的超时时间,以从代理服务器读取响应。超时仅在两次连续的读取操作之间设置,而不用于传输整个响应。

proxy-send-timeout

以秒为单位设置将请求传输到代理服务器的超时时间。超时仅在两个连续的写操作之间设置,而不用于整个请求的传输。

proxy-buffers-number

设置用于读取从代理服务器接收到的响应的第一部分的缓冲区的编号。这部分通常包含一个小的响应头。

proxy-buffer-size

设置用于读取从代理服务器接收到的响应的第一部分的缓冲区的大小。这部分通常包含一个小的响应头。

设置应在代理服务器响应的“ Set-Cookie”标头字段的path属性中更改的文本。

设置应在代理服务器响应的“ Set-Cookie”标头字段的domain属性中更改的文本。

proxy-next-upstream

指定在哪种情况下将请求传递到下一个服务器。

proxy-next-upstream-timeout

限制可以将请求传递到下一台服务器的时间(以秒为单位)。

proxy-next-upstream-tries

限制将请求传递到下一个服务器的可能尝试次数。

proxy-redirect-from

设置应在代理服务器响应的“位置”和“刷新”标头字段中更改的原始文本。 default: off

参考: http //nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect

proxy-request-buffering

启用或禁用客户端请求正文的缓冲。

ssl-redirect

如果服务器具有TLS证书(在Ingress规则中定义),则将重定向(301)的全局值设置为HTTPS。default: "true"

whitelist-source-range

为每个server块设置默认的白名单IP 。这可以由Ingress规则上的注释覆盖。参见ngx_http_access_module。

skip-access-log-urls

设置不应出现在NGINX访问日志中的URL列表。这对于类似/healthhealth-check使“复杂”读取日志的url很有用。 default: is empty

limit-rate

限制向客户端传输响应的速率。该速率以每秒字节数指定。零值禁用速率限制。该限制是根据请求设置的,因此,如果客户端同时打开两个连接,则总速率将是指定限制的两倍。

参考: http //nginx.org/en/docs/http/ngx_http_core_module.html#limit_rate

 

limit-rate-after

设置初始数量,之后将进一步限制对客户端的响应的进一步传输。

lua-shared-dicts

自定义默认的Lua共享字典或定义更多。您可以使用以下语法来这样做:

lua-shared-dicts: ": , [: ], ..."

例如,以下将默认certificate_data字典设置为100M,并引入了一个新字典,名为 my_custom_plugin

lua-shared-dicts: "certificate_data: 100, my_custom_plugin: 5"

参考: http //nginx.org/en/docs/http/ngx_http_core_module.html#limit_rate_after

http-redirect-code

设置要在重定向中使用的HTTP状态代码。支持代码301,302,307和308 default: 308

为什么默认代码是308?

创建RFC 7238是为了定义308(永久重定向)状态代码,该状态代码类似于301(永久移动),但它将有效负载保留在重定向中。如果我们以POST之类的方法发送重定向,这一点很重要。

proxy-buffering

启用或禁用代理服务器响应的缓冲。

limit-req-status-code

设置状态代码以响应被拒绝的请求而返回。 default: 503

limit-conn-status-code

设置状态代码以响应拒绝的连接而返回。 default: 503

no-tls-redirect-locations

以逗号分隔的位置列表,在这些位置上,http请求永远不会重定向到其https副本。default: "/.well-known/acme-challenge"

global-auth-url

nginx.ingress.kubernetes.io/auth-url。可以使用no-auth-locationsSee no-auth-locations列出不应该通过身份验证的位置。另外,可以通过enable-global-auth设置为“ false”的注释将每个服务从身份验证中排除。 default: ""

参考文献: https //github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md#external-authentication

global-auth-method

一种用于现有服务的HTTP方法,该服务为所有位置提供身份验证。类似于Ingress规则注释nginx.ingress.kubernetes.io/auth-methoddefault: ""

global-auth-signin

为现有服务设置错误页面的位置,该服务为所有位置提供身份验证。类似于Ingress规则注释nginx.ingress.kubernetes.io/auth-signin。 default: ""

global-auth-signin-redirect-param

在错误页面登录URL中设置查询参数,该URL包含身份验证失败的请求的原始URL。类似于Ingress规则注释nginx.ingress.kubernetes.io/auth-signin-redirect-param。 default: "rd"

global-auth-response-headers

将头设置为在身份验证请求完成后传递到后端。应用于所有位置。类似于Ingress规则注释nginx.ingress.kubernetes.io/auth-response-headersdefault: ""

global-auth-request-redirect

设置X-Auth-Request-Redirect标头值。应用于所有位置。类似于Ingress规则注释nginx.ingress.kubernetes.io/auth-request-redirectdefault: ""

global-auth-snippet

设置自定义代码段以与外部身份验证一起使用。应用于所有位置。类似于Ingress规则注释nginx.ingress.kubernetes.io/auth-request-redirect。 default: ""

global-auth-cache-key

为全局身份验证请求启用缓存。指定用于身份验证响应的查找键,例如$remote_user$http_authorization

global-auth-cache-duration

根据验证响应的响应代码(例如)设置缓存时间200 202 30m。有关详细信息,请参见proxy_cache_valid。您可以指定多个逗号分隔的值:200 202 10m, 401 5m。默认为200 202 401 5m

no-auth-locations

以逗号分隔的不应该通过身份验证的位置列表。 default: "/.well-known/acme-challenge"

block-cidrs

以逗号分隔的IP地址(或子网)列表,必须全局阻止来自该IP地址(或子网)的请求。

参考: http //nginx.org/en/docs/http/ngx_http_access_module.html#deny

 

block-user-agents

以逗号分隔的User-Agent列表,必须全局阻止来自该列表的请求。在这里可以使用完整的字符串和正则表达式。有关有效模式的更多详细信息,可以在mapNginx指令文档中找到。

参考: http //nginx.org/en/docs/http/ngx_http_map_module.html#map

 

block-referers

以逗号分隔的“引荐来源”列表,必须全局阻止来自其的请求。在这里可以使用完整的字符串和正则表达式。有关有效模式的更多详细信息,可以在mapNginx指令文档中找到。

参考: http //nginx.org/en/docs/http/ngx_http_map_module.html#map

 

proxy-ssl-location-only

设置是否将proxy-ssl参数仅应用于位置而不应用于服务器。default: is disabled

default-type¶

设置响应的默认MIME类型。default: text/html

参考: http //nginx.org/en/docs/http/ngx_http_core_module.html#default_type

参考配置

apiVersion: v1
kind: ConfigMap
data:
  allow-backend-server-header: "true"
  compute-full-forwarded-for: "true"
  enable-brotli: "true"
  enable-modsecurity: "true"
  enable-ocsp: "true"
  enable-owasp-modsecurity-crs: "true"
  enable-underscores-in-headers: "true"
  generate-request-id: "true"
  hsts-preload: "true"
  ignore-invalid-headers: "true"
  keep-alive-requests: "10000"
  log-format-upstream: $remote_addr - [$proxy_add_x_forwarded_for] - $remote_user
    [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"
    $request_length $request_time [$proxy_upstream_name] $upstream_addr $upstream_response_length
    $upstream_response_time $upstream_status $req_id $host [$proxy_alternative_upstream_name]
  max-worker-connections: "65535"
  proxy-body-size: 20m
  proxy-connect-timeout: "1"
  proxy-read-timeout: "3"
  proxy-send-timeout: "3"
  reuse-port: "true"
  server-tokens: "false"
  ssl-protocols: TLSv1.2 TLSv1.3
  ssl-redirect: "false"
  ssl-session-cache: "true"
  ssl-session-cache-size: 5m
  ssl-session-ticket-key: yAl9Gs5LFBlfiWqmdCLVQCt7KVMXbYuYVOHhT1PD9w5OQWIFQ2SwsKhNBJ5FhninuR3tX6CpSDe2tnQOExJ2JCmvwSLfPUWL0PDeRJpEnJ0=
  ssl-session-tickets: "true"
  ssl-session-timeout: 60m
  upstream-keepalive-connections: "200"
  upstream-keepalive-requests: "10000"
  upstream-keepalive-timeout: "100"
  use-forwarded-headers: "true"
  worker-cpu-affinity: auto
  worker-processes: auto

 

你可能感兴趣的:(k8s,ingress-nginx)