ingress nginx配置说明(持续更新)

ingress-nginx 常见参数解释 

# 客户端与服务器之间的 Keep-Alive 连接超时时间,单位为秒。在此例中,设置为 30 秒。
keep-alive: "30"
 
# 设置通过一个保活连接可以处理请求的最长时间
upstream-keepalive-time: "1h"

# 设置通过一个 keepalive 连接可以处理的最大请求数。发出最大请求数后,连接将关闭。默认值: 10000
upstream-keepalive-requests

# 在此期间与上游服务器的空闲保持活动连接将保持打开状态
nginx.ingress.kubernetes.io/upstream-keepalive-timeout

# Nginx 与 上 游 服 务 器 ( 后 端 服 务 ) 之 间 的  keep-alive 连 接 数 。 默认值320                                                                                                               
upstream-keepalive-connections: "300"    

# Nginx 与客户端(浏览器、客户端应用等)之间的 keep-alive 连接上可以发送的最大请求数。
keep-alive-requests: "10000"

# 设置允许传递给后端服务器的请求主体的最大大小。在这个例子中,最大允许的主体大小为 50MB。                                                                      
proxy-body-size: 50m

# 设置与后端服务器建立连接的超时时间。在这个例子中,连接超时时间为 600 秒
proxy-connect-timeout: "600"

# 设置从后端服务器读取数据的超时时间。在这个例子中,读取超时时间为 600 秒。
proxy-read-timeout: "600"

# 设置向后端服务器发送数据的超时时间。在这个例子中,发送超时时间为 600 秒。
proxy-send-timeout: "600"

# 指定 Nginx 与上游服务器之间使用的 HTTP 版本
proxy-http-version: "1.1"

# 用于配置在发生上游服务器失败时,Nginx 尝试连接到下一个上游服务器的次数。
proxy-next-upstream-tries: "3"

# 用于配置是否使用请求中的 Forwarded 头部信息。这个头部信息通常包含有关客户端的原始连接信息,如原始 IP 地址、协议等。
use-forwarded-headers: "true"

# 此参数设置每个 worker 进程能够同时处理的最大连接数。在这里,设置为 65536 连接。
max-worker-connections: "65536"

# 此参数设置每个 worker 进程的最大打开文件描述符数。文件描述符用于表示打开的文件、套接字和其他 I/O 资源。在这里,设置为 655350
max-worker-open-files: "655350"

# 此参数控制 worker 进程的 CPU 亲和性。将其设置为 "auto" 表示 Nginx 将根据系统配置自动分配 worker 进程到 CPU。
worker-cpu-affinity: "auto"

# 此参数指定要生成的用于处理传入请求的 worker 进程数量。将其设置为 "auto" 表示 Nginx 将根据系统资源自动确定适当的 worker 进程数量
worker-processes: "auto"

# 当设置为 "false" 时,此参数禁用在服务器响应头中包含 Nginx 版本信息。这是一项安全措施,以限制信息暴露。
server-tokens: "false"

# 此参数设置在无法从文件内容确定 MIME 类型时,Nginx 用于服务文件的默认 MIME 类型。在这里,设置为 "application/octet-stream"。
default-type: "application/octet-stream"

# 全局禁用308重定向 
ssl-redirect: "false" 

# 控制是否启用 GeoIP 功能。当设置为 "false" 时,禁用 GeoIP。
use-geoip: "false"

# 用于设置服务器名哈希桶的大小
server-name-hash-bucket-size: "128"

# 客户端请求体超时时间,单位为秒。在此例中,设置为 60 秒。
client-body-timeout: "60"

# 客户端请求头缓冲区大小。在此例中,设置为 8k。
client-header-buffer-size: "8k"

# 客户端请求头的大缓冲区配置。在此例中,设置为 4 个缓冲区,每个大小为 32k。
large-client-header-buffers: "4 32k"

# 反向代理请求体的最大尺寸。在此例中,设置为 256 MB。
proxy-body-size: "256m"

# 客户端请求体缓冲区大小。在此例中,设置为 128k。
client-body-buffer-size: "128k"

# HTTP/2 最大并发流的数量。在此例中,设置为 64。
http2-max-concurrent-streams: "64"

# HTTP/2 最大字段大小。在此例中,设置为 16k。
http2-max-field-size: "16k"

# 反向代理连接超时时间,单位为秒。在此例中,设置为 15 秒。
proxy-connect-timeout: "15"

# 反向代理发送超时时间,单位为秒。在此例中,设置为 60 秒。
proxy-send-timeout: "60"

# 反向代理读取超时时间,单位为秒。在此例中,设置为 60 秒。
proxy-read-timeout: "60"

# 反向代理缓冲区大小。在此例中,设置为 128k。
proxy-buffer-size: "128k"

# 反向代理缓冲区的数量。在此例中,设置为 32。
proxy-buffers-number: "32"

# 反向代理头部哈希表的最大大小。
proxy-headers-hash-max-size: "51200"

# 反向代理头部哈希表桶的大小。
proxy-headers-hash-bucket-size: "6400"

# 指定在遇到错误时,Nginx 应该尝试连接的下一个上游服务器
proxy-next-upstream: "error timeout http_500 http_502 http_503 http_504"

# 启用 Gzip 压缩功能
use-gzip: "true"

# 启用 Gzip 压缩的最小文件大小。
gzip-min-length: "1000"

# Gzip 压缩级别
gzip-level: "1"

# 启用 Gzip 压缩的 MIME 类型。
gzip-types: "text/plain application/x-javascript text/css application/xml application/json"

# 启用的 SSL/TLS 协议版本。
ssl-protocols: "TLSv1 TLSv1.1 TLSv1.2"

# 启用的 SSL 密码套件。
ssl-ciphers: "ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:AES256+EDH"

# SSL 缓冲区大小。
ssl-buffer-size: "16k"

# 启用 SSL 会话缓存。
ssl-session-cache: "true"

# SSL 会话超时时间。
ssl-session-timeout: "5m"

# Diffie-Hellman 密钥交换的参数文件路径。
ssl-dh-param: "/etc/nginx/pem/dhparam.pem"

# 自定义上游日志格式。这里定义了一种格式,包含了多个变量,如时间、主机名、远程地址、上游地址等。
log-format-upstream: "$time_local|$hostname|$remote_addr|$upstream_addr|$request_time|$upstream_response_time|$upstream_connect_time|$status|$upstream_status|-|$bytes_sent|$body_bytes_sent|-|$request|$http_user_agent|$http_referrer|^^|$scheme|$request_method|$request_id|-|^^|-|$cookie_jsessionid"

参考文献:ConfigMap - Ingress-Nginx Controller

你可能感兴趣的:(kubernetes,nginx,github,运维)