Darwin arm64 (#8399)
* Use sed instead of gnu find flags
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* Support building linux/amd64 on darin/arm64
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* Upgrade awesome_bot to dkhamsing/awesome_bot:1.20.0
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* Favor find -prune for vendor
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* Skip golang modcache folder
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* Favor find -prune for changelog
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* Ignore Changelogs of any case
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* Fix service-l7 link
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* Fix route53-mapper link
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* Update rootfs contents description
The auxiliary scripts were removed after:
ab8349008a/rootfs/ingress-controller
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* Update paths for modsecurity
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* Update paths for modsecurity_snippet
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* Update toc for 20190815-zone-aware-routing.md
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* Use Internet Archive for datapath.io blog entry
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* Use Internet Archive for cloudflare.com help center entry
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* Use https for nginx.org
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
This commit is contained in:
parent
abdece6e80
commit
c6a8ad9a65
19 changed files with 159 additions and 143 deletions
|
@ -1001,7 +1001,7 @@ _Documentation:_
|
|||
_New Features:_
|
||||
|
||||
- NGINX 1.19.2
|
||||
- New configmap option `enable-real-ip` to enable [realip_module](http://nginx.org/en/docs/http/ngx_http_realip_module.html)
|
||||
- New configmap option `enable-real-ip` to enable [realip_module](https://nginx.org/en/docs/http/ngx_http_realip_module.html)
|
||||
- Use k8s.gcr.io vanity domain
|
||||
- Go 1.15
|
||||
- client-go v0.18.6
|
||||
|
|
16
Makefile
16
Makefile
|
@ -49,6 +49,10 @@ ifeq ($(ARCH),)
|
|||
$(error mandatory variable ARCH is empty, either set it when calling the command or make sure 'go env GOARCH' works)
|
||||
endif
|
||||
|
||||
ifneq ($(PLATFORM),)
|
||||
PLATFORM_FLAG="--platform"
|
||||
endif
|
||||
|
||||
REGISTRY ?= gcr.io/k8s-staging-ingress-nginx
|
||||
|
||||
BASE_IMAGE ?= k8s.gcr.io/ingress-nginx/nginx:5402d35663917ccbbf77ff48a22b8c6f77097f48@sha256:ec8a104df307f5c6d68157b7ac8e5e1e2c2f0ea07ddf25bb1c6c43c67e351180
|
||||
|
@ -62,6 +66,7 @@ help: ## Display this help
|
|||
image: clean-image ## Build image for a particular arch.
|
||||
echo "Building docker image ($(ARCH))..."
|
||||
@docker build \
|
||||
${PLATFORM_FLAG} ${PLATFORM} \
|
||||
--no-cache \
|
||||
--build-arg BASE_IMAGE="$(BASE_IMAGE)" \
|
||||
--build-arg VERSION="$(TAG)" \
|
||||
|
@ -143,10 +148,11 @@ vet:
|
|||
|
||||
.PHONY: check_dead_links
|
||||
check_dead_links: ## Check if the documentation contains dead links.
|
||||
@docker run -t \
|
||||
-v $$PWD:/tmp aledbf/awesome_bot:0.1 \
|
||||
@docker run ${PLATFORM_FLAG} ${PLATFORM} -t \
|
||||
-w /tmp \
|
||||
-v $$PWD:/tmp dkhamsing/awesome_bot:1.20.0 \
|
||||
--allow-dupe \
|
||||
--allow-redirect $(shell find $$PWD -mindepth 1 -name "*.md" -printf '%P\n' | grep -v vendor | grep -v Changelog.md)
|
||||
--allow-redirect $(shell find $$PWD -mindepth 1 -name vendor -prune -o -name .modcache -prune -o -iname Changelog.md -prune -o -name "*.md" | sed -e "s#$$PWD/##")
|
||||
|
||||
.PHONY: dev-env
|
||||
dev-env: ## Starts a local Kubernetes cluster using kind, building and deploying the ingress controller.
|
||||
|
@ -158,8 +164,8 @@ dev-env-stop: ## Deletes local Kubernetes cluster created by kind.
|
|||
|
||||
.PHONY: live-docs
|
||||
live-docs: ## Build and launch a local copy of the documentation website in http://localhost:8000
|
||||
@docker build -t ingress-nginx-docs .github/actions/mkdocs
|
||||
@docker run --rm -it \
|
||||
@docker build ${PLATFORM_FLAG} ${PLATFORM} -t ingress-nginx-docs .github/actions/mkdocs
|
||||
@docker run ${PLATFORM_FLAG} ${PLATFORM} --rm -it \
|
||||
-p 8000:8000 \
|
||||
-v ${PWD}:/docs \
|
||||
--entrypoint mkdocs \
|
||||
|
|
|
@ -55,10 +55,18 @@ fi
|
|||
# create output directory as current user to avoid problem with docker.
|
||||
mkdir -p "${KUBE_ROOT}/bin" "${KUBE_ROOT}/bin/${ARCH}"
|
||||
|
||||
PLATFORM="${PLATFORM:-}"
|
||||
if [[ -n "$PLATFORM" ]]; then
|
||||
PLATFORM_FLAG=--platform
|
||||
else
|
||||
PLATFORM_FLAG=
|
||||
fi
|
||||
|
||||
if [[ "$DOCKER_IN_DOCKER_ENABLED" == "true" ]]; then
|
||||
/bin/bash -c "${FLAGS}"
|
||||
else
|
||||
docker run \
|
||||
${PLATFORM_FLAG} ${PLATFORM} \
|
||||
--tty \
|
||||
--rm \
|
||||
${DOCKER_OPTS} \
|
||||
|
|
|
@ -111,7 +111,7 @@ controller:
|
|||
|
||||
### AWS L7 ELB with SSL Termination
|
||||
|
||||
Annotate the controller as shown in the [nginx-ingress l7 patch](https://github.com/kubernetes/ingress-nginx/blob/main/deploy/aws/l7/service-l7.yaml):
|
||||
Annotate the controller as shown in the [nginx-ingress l7 patch](https://github.com/kubernetes/ingress-nginx/blob/ab3a789caae65eec4ad6e3b46b19750b481b6bce/deploy/aws/l7/service-l7.yaml):
|
||||
|
||||
```yaml
|
||||
controller:
|
||||
|
@ -128,7 +128,7 @@ controller:
|
|||
|
||||
### AWS route53-mapper
|
||||
|
||||
To configure the LoadBalancer service with the [route53-mapper addon](https://github.com/kubernetes/kops/tree/master/addons/route53-mapper), add the `domainName` annotation and `dns` label:
|
||||
To configure the LoadBalancer service with the [route53-mapper addon](https://github.com/kubernetes/kops/blob/be63d4f1a7a46daaf1c4c482527328236850f111/addons/route53-mapper/README.md), add the `domainName` annotation and `dns` label:
|
||||
|
||||
```yaml
|
||||
controller:
|
||||
|
|
|
@ -110,7 +110,7 @@ controller:
|
|||
|
||||
### AWS L7 ELB with SSL Termination
|
||||
|
||||
Annotate the controller as shown in the [nginx-ingress l7 patch](https://github.com/kubernetes/ingress-nginx/blob/main/deploy/aws/l7/service-l7.yaml):
|
||||
Annotate the controller as shown in the [nginx-ingress l7 patch](https://github.com/kubernetes/ingress-nginx/blob/ab3a789caae65eec4ad6e3b46b19750b481b6bce/deploy/aws/l7/service-l7.yaml):
|
||||
|
||||
```yaml
|
||||
controller:
|
||||
|
@ -127,7 +127,7 @@ controller:
|
|||
|
||||
### AWS route53-mapper
|
||||
|
||||
To configure the LoadBalancer service with the [route53-mapper addon](https://github.com/kubernetes/kops/tree/master/addons/route53-mapper), add the `domainName` annotation and `dns` label:
|
||||
To configure the LoadBalancer service with the [route53-mapper addon](https://github.com/kubernetes/kops/blob/be63d4f1a7a46daaf1c4c482527328236850f111/addons/route53-mapper/README.md), add the `domainName` annotation and `dns` label:
|
||||
|
||||
```yaml
|
||||
controller:
|
||||
|
|
|
@ -218,7 +218,7 @@ By default, TLS is terminated in the ingress controller. But it is also possible
|
|||
|
||||
Idle timeout value for TCP flows is 350 seconds and [cannot be modified](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#connection-idle-timeout).
|
||||
|
||||
For this reason, you need to ensure the [keepalive_timeout](http://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_timeout) value is configured less than 350 seconds to work as expected.
|
||||
For this reason, you need to ensure the [keepalive_timeout](https://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_timeout) value is configured less than 350 seconds to work as expected.
|
||||
|
||||
By default NGINX `keepalive_timeout` is set to `75s`.
|
||||
|
||||
|
|
|
@ -146,7 +146,7 @@ This is NGINX with some Lua enhancement. We do dynamic certificate, endpoints ha
|
|||
The files are in [rootfs](https://github.com/kubernetes/ingress-nginx/tree/main/rootfs) directory and contains:
|
||||
|
||||
* The Dockerfile
|
||||
* [Auxiliary scripts](https://github.com/kubernetes/ingress-nginx/tree/main/rootfs/ingress-controller)
|
||||
* [nginx config](https://github.com/kubernetes/ingress-nginx/tree/main/rootfs/etc/nginx)
|
||||
|
||||
#### Ingress NGINX Lua Scripts
|
||||
|
||||
|
|
|
@ -132,16 +132,16 @@
|
|||
- [should set valid proxy-ssl-secret, proxy-ssl-protocols](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/annotations/proxyssl.go#L122)
|
||||
- [proxy-ssl-location-only flag should change the nginx config server part](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/annotations/proxyssl.go#L150)
|
||||
|
||||
### [modsecurity owasp](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/annotations/modsecurity.go#L27)
|
||||
### [modsecurity owasp](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/annotations/modsecurity/modsecurity.go#L27)
|
||||
|
||||
- [should enable modsecurity](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/annotations/modsecurity.go#L34)
|
||||
- [should enable modsecurity with transaction ID and OWASP rules](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/annotations/modsecurity.go#L52)
|
||||
- [should disable modsecurity](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/annotations/modsecurity.go#L73)
|
||||
- [should enable modsecurity with snippet](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/annotations/modsecurity.go#L90)
|
||||
- [should enable modsecurity without using 'modsecurity on;'](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/annotations/modsecurity.go#L109)
|
||||
- [should disable modsecurity using 'modsecurity off;'](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/annotations/modsecurity.go#L131)
|
||||
- [should enable modsecurity with snippet and block requests](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/annotations/modsecurity.go#L152)
|
||||
- [should enable modsecurity globally and with modsecurity-snippet block requests](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/annotations/modsecurity.go#L186)
|
||||
- [should enable modsecurity](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/annotations/modsecurity/modsecurity.go#L34)
|
||||
- [should enable modsecurity with transaction ID and OWASP rules](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/annotations/modsecurity/modsecurity.go#L52)
|
||||
- [should disable modsecurity](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/annotations/modsecurity/modsecurity.go#L73)
|
||||
- [should enable modsecurity with snippet](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/annotations/modsecurity/modsecurity.go#L90)
|
||||
- [should enable modsecurity without using 'modsecurity on;'](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/annotations/modsecurity/modsecurity.go#L109)
|
||||
- [should disable modsecurity using 'modsecurity off;'](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/annotations/modsecurity/modsecurity.go#L131)
|
||||
- [should enable modsecurity with snippet and block requests](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/annotations/modsecurity/modsecurity.go#L152)
|
||||
- [should enable modsecurity globally and with modsecurity-snippet block requests](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/annotations/modsecurity/modsecurity.go#L186)
|
||||
|
||||
### [backend-protocol - GRPC](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/annotations/grpc.go#L38)
|
||||
|
||||
|
@ -534,9 +534,9 @@
|
|||
- [should set valid proxy read timeouts using configmap values](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/settings/proxy_read_timeout.go#L36)
|
||||
- [should not set invalid proxy read timeouts using configmap values](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/settings/proxy_read_timeout.go#L52)
|
||||
|
||||
### [[Security] modsecurity-snippet](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/settings/modsecurity_snippet.go#L27)
|
||||
### [[Security] modsecurity-snippet](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/settings/modsecurity/modsecurity_snippet.go#L27)
|
||||
|
||||
- [should add value of modsecurity-snippet setting to nginx config](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/settings/modsecurity_snippet.go#L30)
|
||||
- [should add value of modsecurity-snippet setting to nginx config](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/settings/modsecurity/modsecurity_snippet.go#L30)
|
||||
|
||||
### [OCSP](https://github.com/kubernetes/ingress-nginx/tree/main/test/e2e/settings/ocsp/ocsp.go#L42)
|
||||
|
||||
|
|
|
@ -17,6 +17,8 @@ status: implementable
|
|||
## Table of Contents
|
||||
|
||||
<!-- toc -->
|
||||
- [Availability zone aware routing](#availability-zone-aware-routing)
|
||||
- [Table of Contents](#table-of-contents)
|
||||
- [Summary](#summary)
|
||||
- [Motivation](#motivation)
|
||||
- [Goals](#goals)
|
||||
|
@ -39,7 +41,7 @@ inter-zone traffic and usually costs extra money.
|
|||
|
||||
|
||||
At the time of this writing, GCP charges $0.01 per GB of inter-zone egress traffic according to https://cloud.google.com/compute/network-pricing.
|
||||
According to https://datapath.io/resources/blog/what-are-aws-data-transfer-costs-and-how-to-minimize-them/ Amazon also charges the same amount of money as GCP for cross-zone, egress traffic.
|
||||
According to [https://datapath.io/resources/blog/what-are-aws-data-transfer-costs-and-how-to-minimize-them/](https://web.archive.org/web/20201008160149/https://datapath.io/resources/blog/what-are-aws-data-transfer-costs-and-how-to-minimize-them/) Amazon also charges the same amount of money as GCP for cross-zone, egress traffic.
|
||||
|
||||
This can be a lot of money depending on once's traffic. By teaching ingress-nginx about zones we can eliminate or at least decrease this cost.
|
||||
|
||||
|
|
|
@ -70,5 +70,5 @@ This webhook appends the incoming ingress objects to the list of ingresses, gene
|
|||
[4]: https://github.com/kubernetes/ingress-nginx/blob/main/internal/task/queue.go#L38
|
||||
[5]: https://golang.org/pkg/sync/#Mutex
|
||||
[6]: https://github.com/kubernetes/ingress-nginx/blob/main/rootfs/etc/nginx/template/nginx.tmpl
|
||||
[7]: http://nginx.org/en/docs/beginners_guide.html#control
|
||||
[7]: https://nginx.org/en/docs/beginners_guide.html#control
|
||||
[8]: https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#validatingadmissionwebhook
|
||||
|
|
|
@ -110,7 +110,7 @@ $ kubectl edit deploy -n <namespace-of-ingress-controller> ingress-nginx-control
|
|||
|
||||
- `--v=2` shows details using `diff` about the changes in the configuration in nginx
|
||||
- `--v=3` shows details about the service, Ingress rule, endpoint changes and it dumps the nginx configuration in JSON format
|
||||
- `--v=5` configures NGINX in [debug mode](http://nginx.org/en/docs/debugging_log.html)
|
||||
- `--v=5` configures NGINX in [debug mode](https://nginx.org/en/docs/debugging_log.html)
|
||||
|
||||
## Authentication to the Kubernetes API Server
|
||||
|
||||
|
|
|
@ -93,13 +93,13 @@ To enable FastCGI, the `nginx.ingress.kubernetes.io/backend-protocol` annotation
|
|||
|
||||
### The `nginx.ingress.kubernetes.io/fastcgi-index` Annotation
|
||||
|
||||
To specify an index file, the `fastcgi-index` annotation value can optionally be set. In the example below, the value is set to `index.php`. This annotation corresponds to [the _NGINX_ `fastcgi_index` directive](http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_index).
|
||||
To specify an index file, the `fastcgi-index` annotation value can optionally be set. In the example below, the value is set to `index.php`. This annotation corresponds to [the _NGINX_ `fastcgi_index` directive](https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_index).
|
||||
|
||||
> `nginx.ingress.kubernetes.io/fastcgi-index: "index.php"`
|
||||
|
||||
### The `nginx.ingress.kubernetes.io/fastcgi-params-configmap` Annotation
|
||||
|
||||
To specify [_NGINX_ `fastcgi_param` directives](http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_param), the `fastcgi-params-configmap` annotation is used, which in turn must lead to a _ConfigMap_ object containing the _NGINX_ `fastcgi_param` directives as key/values.
|
||||
To specify [_NGINX_ `fastcgi_param` directives](https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_param), the `fastcgi-params-configmap` annotation is used, which in turn must lead to a _ConfigMap_ object containing the _NGINX_ `fastcgi_param` directives as key/values.
|
||||
|
||||
> `nginx.ingress.kubernetes.io/fastcgi-params-configmap: "example-configmap"`
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ A more adequate value to support websockets is a value higher than one hour (`36
|
|||
|
||||
## Optimizing TLS Time To First Byte (TTTFB)
|
||||
|
||||
NGINX provides the configuration option [ssl_buffer_size](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_buffer_size) to allow the optimization of the TLS record size.
|
||||
NGINX provides the configuration option [ssl_buffer_size](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_buffer_size) to allow the optimization of the TLS record size.
|
||||
|
||||
This improves the [TLS Time To First Byte](https://www.igvita.com/2013/12/16/optimizing-nginx-tls-time-to-first-byte/) (TTTFB).
|
||||
The default value in the Ingress controller is `4k` (NGINX default is `16k`).
|
||||
|
|
|
@ -222,7 +222,7 @@ nginx.ingress.kubernetes.io/auth-realm: "realm string"
|
|||
|
||||
### Custom NGINX upstream hashing
|
||||
|
||||
NGINX supports load balancing by client-server mapping based on [consistent hashing](http://nginx.org/en/docs/http/ngx_http_upstream_module.html#hash) for a given key. The key can contain text, variables or any combination thereof. This feature allows for request stickiness other than client IP or cookies. The [ketama](https://www.last.fm/user/RJ/journal/2007/04/10/rz_libketama_-_a_consistent_hashing_algo_for_memcache_clients) consistent hashing method will be used which ensures only a few keys would be remapped to different servers on upstream group changes.
|
||||
NGINX supports load balancing by client-server mapping based on [consistent hashing](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#hash) for a given key. The key can contain text, variables or any combination thereof. This feature allows for request stickiness other than client IP or cookies. The [ketama](https://www.last.fm/user/RJ/journal/2007/04/10/rz_libketama_-_a_consistent_hashing_algo_for_memcache_clients) consistent hashing method will be used which ensures only a few keys would be remapped to different servers on upstream group changes.
|
||||
|
||||
There is a special mode of upstream hashing called subset. In this mode, upstream servers are grouped into subsets, and stickiness works by mapping keys to a subset instead of individual upstream servers. Specific server is chosen uniformly at random from the selected sticky subset. It provides a balance between stickiness and load distribution.
|
||||
|
||||
|
@ -277,7 +277,7 @@ The following headers are sent to the upstream service according to the `auth-tl
|
|||
|
||||
Cloudflare only allows Authenticated Origin Pulls and is required to use their own certificate: [https://blog.cloudflare.com/protecting-the-origin-with-tls-authenticated-origin-pulls/](https://blog.cloudflare.com/protecting-the-origin-with-tls-authenticated-origin-pulls/)
|
||||
|
||||
Only Authenticated Origin Pulls are allowed and can be configured by following their tutorial: [https://support.cloudflare.com/hc/en-us/articles/204494148-Setting-up-NGINX-to-use-TLS-Authenticated-Origin-Pulls](https://support.cloudflare.com/hc/en-us/articles/204494148-Setting-up-NGINX-to-use-TLS-Authenticated-Origin-Pulls)
|
||||
Only Authenticated Origin Pulls are allowed and can be configured by following their tutorial: [https://support.cloudflare.com/hc/en-us/articles/204494148-Setting-up-NGINX-to-use-TLS-Authenticated-Origin-Pulls](https://web.archive.org/web/20200907143649/https://support.cloudflare.com/hc/en-us/articles/204899617-Setting-up-NGINX-to-use-TLS-Authenticated-Origin-Pulls#section5)
|
||||
|
||||
### Backend Certificate Authentication
|
||||
|
||||
|
@ -291,11 +291,11 @@ It is possible to authenticate to a proxied HTTPS backend with certificate using
|
|||
* `nginx.ingress.kubernetes.io/proxy-ssl-verify-depth`:
|
||||
Sets the verification depth in the proxied HTTPS server certificates chain. (default: 1)
|
||||
* `nginx.ingress.kubernetes.io/proxy-ssl-ciphers`:
|
||||
Specifies the enabled [ciphers](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ssl_ciphers) for requests to a proxied HTTPS server. The ciphers are specified in the format understood by the OpenSSL library.
|
||||
Specifies the enabled [ciphers](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ssl_ciphers) for requests to a proxied HTTPS server. The ciphers are specified in the format understood by the OpenSSL library.
|
||||
* `nginx.ingress.kubernetes.io/proxy-ssl-name`:
|
||||
Allows to set [proxy_ssl_name](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ssl_name). This allows overriding the server name used to verify the certificate of the proxied HTTPS server. This value is also passed through SNI when a connection is established to the proxied HTTPS server.
|
||||
Allows to set [proxy_ssl_name](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ssl_name). This allows overriding the server name used to verify the certificate of the proxied HTTPS server. This value is also passed through SNI when a connection is established to the proxied HTTPS server.
|
||||
* `nginx.ingress.kubernetes.io/proxy-ssl-protocols`:
|
||||
Enables the specified [protocols](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ssl_protocols) for requests to a proxied HTTPS server.
|
||||
Enables the specified [protocols](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ssl_protocols) for requests to a proxied HTTPS server.
|
||||
* `nginx.ingress.kubernetes.io/proxy-ssl-server-name`:
|
||||
Enables passing of the server name through TLS Server Name Indication extension (SNI, RFC 6066) when establishing a connection with the proxied HTTPS server.
|
||||
|
||||
|
@ -397,7 +397,7 @@ This will create a server with the same configuration, but adding new values to
|
|||
If a server-alias is created and later a new server with the same hostname is created, the new server configuration will take
|
||||
place over the alias configuration.
|
||||
|
||||
For more information please see [the `server_name` documentation](http://nginx.org/en/docs/http/ngx_http_core_module.html#server_name).
|
||||
For more information please see [the `server_name` documentation](https://nginx.org/en/docs/http/ngx_http_core_module.html#server_name).
|
||||
|
||||
### Server snippet
|
||||
|
||||
|
@ -441,7 +441,7 @@ applied to each location provided in the ingress rule.
|
|||
* `nginx.ingress.kubernetes.io/client-body-buffer-size: 1m` # 1 megabyte
|
||||
* `nginx.ingress.kubernetes.io/client-body-buffer-size: 1M` # 1 megabyte
|
||||
|
||||
For more information please see [http://nginx.org](http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size)
|
||||
For more information please see [https://nginx.org](https://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size)
|
||||
|
||||
### External Authentication
|
||||
|
||||
|
@ -468,7 +468,7 @@ Additionally it is possible to set:
|
|||
* `nginx.ingress.kubernetes.io/auth-cache-key`:
|
||||
`<Cache_Key>` this enables caching for auth requests. specify a lookup key for auth responses. e.g. `$remote_user$http_authorization`. Each server and location has it's own keyspace. Hence a cached response is only valid on a per-server and per-location basis.
|
||||
* `nginx.ingress.kubernetes.io/auth-cache-duration`:
|
||||
`<Cache_duration>` to specify a caching time for auth responses based on their response codes, e.g. `200 202 30m`. See [proxy_cache_valid](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_valid) for details. You may specify multiple, comma-separated values: `200 202 10m, 401 5m`. defaults to `200 202 401 5m`.
|
||||
`<Cache_duration>` to specify a caching time for auth responses based on their response codes, e.g. `200 202 30m`. See [proxy_cache_valid](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_valid) for details. You may specify multiple, comma-separated values: `200 202 10m, 401 5m`. defaults to `200 202 401 5m`.
|
||||
* `nginx.ingress.kubernetes.io/auth-snippet`:
|
||||
`<Auth_Snippet>` to specify a custom snippet to use with external authentication, e.g.
|
||||
|
||||
|
@ -642,7 +642,7 @@ Note: All timeout values are unitless and in seconds e.g. `nginx.ingress.kuberne
|
|||
### Proxy redirect
|
||||
|
||||
The annotations `nginx.ingress.kubernetes.io/proxy-redirect-from` and `nginx.ingress.kubernetes.io/proxy-redirect-to` will set the first and second parameters of NGINX's proxy_redirect directive respectively. It is possible to
|
||||
set the text that should be changed in the `Location` and `Refresh` header fields of a [proxied server response](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect)
|
||||
set the text that should be changed in the `Location` and `Refresh` header fields of a [proxied server response](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect)
|
||||
|
||||
Setting "off" or "default" in the annotation `nginx.ingress.kubernetes.io/proxy-redirect-from` disables `nginx.ingress.kubernetes.io/proxy-redirect-to`,
|
||||
otherwise, both annotations must be used in unison. Note that each annotation must be a string without spaces.
|
||||
|
@ -651,7 +651,7 @@ By default the value of each annotation is "off".
|
|||
|
||||
### Custom max body size
|
||||
|
||||
For NGINX, an 413 error will be returned to the client when the size in a request exceeds the maximum allowed size of the client request body. This size can be configured by the parameter [`client_max_body_size`](http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size).
|
||||
For NGINX, an 413 error will be returned to the client when the size in a request exceeds the maximum allowed size of the client request body. This size can be configured by the parameter [`client_max_body_size`](https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size).
|
||||
|
||||
To configure this setting globally for all Ingress rules, the `proxy-body-size` value may be set in the [NGINX ConfigMap](./configmap.md#proxy-body-size).
|
||||
To use custom values in an Ingress rule define these annotation:
|
||||
|
@ -662,19 +662,19 @@ nginx.ingress.kubernetes.io/proxy-body-size: 8m
|
|||
|
||||
### Proxy cookie domain
|
||||
|
||||
Sets a text that [should be changed in the domain attribute](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_domain) of the "Set-Cookie" header fields of a proxied server response.
|
||||
Sets a text that [should be changed in the domain attribute](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_domain) of the "Set-Cookie" header fields of a proxied server response.
|
||||
|
||||
To configure this setting globally for all Ingress rules, the `proxy-cookie-domain` value may be set in the [NGINX ConfigMap](./configmap.md#proxy-cookie-domain).
|
||||
|
||||
### Proxy cookie path
|
||||
|
||||
Sets a text that [should be changed in the path attribute](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_path) of the "Set-Cookie" header fields of a proxied server response.
|
||||
Sets a text that [should be changed in the path attribute](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_path) of the "Set-Cookie" header fields of a proxied server response.
|
||||
|
||||
To configure this setting globally for all Ingress rules, the `proxy-cookie-path` value may be set in the [NGINX ConfigMap](./configmap.md#proxy-cookie-path).
|
||||
|
||||
### Proxy buffering
|
||||
|
||||
Enable or disable proxy buffering [`proxy_buffering`](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering).
|
||||
Enable or disable proxy buffering [`proxy_buffering`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering).
|
||||
By default proxy buffering is disabled in the NGINX config.
|
||||
|
||||
To configure this setting globally for all Ingress rules, the `proxy-buffering` value may be set in the [NGINX ConfigMap](./configmap.md#proxy-buffering).
|
||||
|
@ -686,7 +686,7 @@ nginx.ingress.kubernetes.io/proxy-buffering: "on"
|
|||
|
||||
### Proxy buffers Number
|
||||
|
||||
Sets the number of the buffers in [`proxy_buffers`](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers) used for reading the first part of the response received from the proxied server.
|
||||
Sets the number of the buffers in [`proxy_buffers`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers) used for reading the first part of the response received from the proxied server.
|
||||
By default proxy buffers number is set as 4
|
||||
|
||||
To configure this setting globally, set `proxy-buffers-number` in [NGINX ConfigMap](./configmap.md#proxy-buffers-number). To use custom values in an Ingress rule, define this annotation:
|
||||
|
@ -696,7 +696,7 @@ nginx.ingress.kubernetes.io/proxy-buffers-number: "4"
|
|||
|
||||
### Proxy buffer size
|
||||
|
||||
Sets the size of the buffer [`proxy_buffer_size`](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size) used for reading the first part of the response received from the proxied server.
|
||||
Sets the size of the buffer [`proxy_buffer_size`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size) used for reading the first part of the response received from the proxied server.
|
||||
By default proxy buffer size is set as "4k"
|
||||
|
||||
To configure this setting globally, set `proxy-buffer-size` in [NGINX ConfigMap](./configmap.md#proxy-buffer-size). To use custom values in an Ingress rule, define this annotation:
|
||||
|
@ -706,7 +706,7 @@ nginx.ingress.kubernetes.io/proxy-buffer-size: "8k"
|
|||
|
||||
### Proxy max temp file size
|
||||
|
||||
When [`buffering`](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering) of responses from the proxied server is enabled, and the whole response does not fit into the buffers set by the [`proxy_buffer_size`](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size) and [`proxy_buffers`](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers) directives, a part of the response can be saved to a temporary file. This directive sets the maximum `size` of the temporary file setting the [`proxy_max_temp_file_size`](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_max_temp_file_size). The size of data written to the temporary file at a time is set by the [`proxy_temp_file_write_size`](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_temp_file_write_size) directive.
|
||||
When [`buffering`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering) of responses from the proxied server is enabled, and the whole response does not fit into the buffers set by the [`proxy_buffer_size`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size) and [`proxy_buffers`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers) directives, a part of the response can be saved to a temporary file. This directive sets the maximum `size` of the temporary file setting the [`proxy_max_temp_file_size`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_max_temp_file_size). The size of data written to the temporary file at a time is set by the [`proxy_temp_file_write_size`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_temp_file_write_size) directive.
|
||||
|
||||
The zero value disables buffering of responses to temporary files.
|
||||
|
||||
|
@ -717,7 +717,7 @@ nginx.ingress.kubernetes.io/proxy-max-temp-file-size: "1024m"
|
|||
|
||||
### Proxy HTTP version
|
||||
|
||||
Using this annotation sets the [`proxy_http_version`](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_http_version) that the Nginx reverse proxy will use to communicate with the backend.
|
||||
Using this annotation sets the [`proxy_http_version`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_http_version) that the Nginx reverse proxy will use to communicate with the backend.
|
||||
By default this is set to "1.1".
|
||||
|
||||
```yaml
|
||||
|
@ -726,7 +726,7 @@ nginx.ingress.kubernetes.io/proxy-http-version: "1.0"
|
|||
|
||||
### SSL ciphers
|
||||
|
||||
Specifies the [enabled ciphers](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ciphers).
|
||||
Specifies the [enabled ciphers](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ciphers).
|
||||
|
||||
Using this annotation will set the `ssl_ciphers` directive at the server level. This configuration is active for all the paths in the host.
|
||||
|
||||
|
|
|
@ -246,14 +246,14 @@ Sets additional header that will not be passed from the upstream server to the c
|
|||
_**default:**_ empty
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header)
|
||||
[https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header)
|
||||
|
||||
## access-log-params
|
||||
|
||||
Additional params for access_log. For example, buffer=16k, gzip, flush=1m
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_log_module.html#access_log](http://nginx.org/en/docs/http/ngx_http_log_module.html#access_log)
|
||||
[https://nginx.org/en/docs/http/ngx_http_log_module.html#access_log](https://nginx.org/en/docs/http/ngx_http_log_module.html#access_log)
|
||||
|
||||
## access-log-path
|
||||
|
||||
|
@ -286,7 +286,7 @@ Error log path. Goes to `/var/log/nginx/error.log` by default.
|
|||
__Note:__ the file `/var/log/nginx/error.log` is a symlink to `/dev/stderr`
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/ngx_core_module.html#error_log](http://nginx.org/en/docs/ngx_core_module.html#error_log)
|
||||
[https://nginx.org/en/docs/ngx_core_module.html#error_log](https://nginx.org/en/docs/ngx_core_module.html#error_log)
|
||||
|
||||
## enable-modsecurity
|
||||
|
||||
|
@ -305,35 +305,35 @@ Adds custom rules to modsecurity section of nginx configuration
|
|||
Allows to configure a custom buffer size for reading client request header.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_core_module.html#client_header_buffer_size](http://nginx.org/en/docs/http/ngx_http_core_module.html#client_header_buffer_size)
|
||||
[https://nginx.org/en/docs/http/ngx_http_core_module.html#client_header_buffer_size](https://nginx.org/en/docs/http/ngx_http_core_module.html#client_header_buffer_size)
|
||||
|
||||
## client-header-timeout
|
||||
|
||||
Defines a timeout for reading client request header, in seconds.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_core_module.html#client_header_timeout](http://nginx.org/en/docs/http/ngx_http_core_module.html#client_header_timeout)
|
||||
[https://nginx.org/en/docs/http/ngx_http_core_module.html#client_header_timeout](https://nginx.org/en/docs/http/ngx_http_core_module.html#client_header_timeout)
|
||||
|
||||
## client-body-buffer-size
|
||||
|
||||
Sets buffer size for reading client request body.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size](http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size)
|
||||
[https://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size](https://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size)
|
||||
|
||||
## client-body-timeout
|
||||
|
||||
Defines a timeout for reading client request body, in seconds.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_timeout](http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_timeout)
|
||||
[https://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_timeout](https://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_timeout)
|
||||
|
||||
## disable-access-log
|
||||
|
||||
Disables the Access Log from the entire Ingress Controller. _**default:**_ `false`
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_log_module.html#access_log](http://nginx.org/en/docs/http/ngx_http_log_module.html#access_log)
|
||||
[https://nginx.org/en/docs/http/ngx_http_log_module.html#access_log](https://nginx.org/en/docs/http/ngx_http_log_module.html#access_log)
|
||||
|
||||
## disable-ipv6
|
||||
|
||||
|
@ -366,7 +366,7 @@ Since 1.9.13 NGINX will not retry non-idempotent requests (POST, LOCK, PATCH) in
|
|||
Configures the logging level of errors. Log levels above are listed in the order of increasing severity.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/ngx_core_module.html#error_log](http://nginx.org/en/docs/ngx_core_module.html#error_log)
|
||||
[https://nginx.org/en/docs/ngx_core_module.html#error_log](https://nginx.org/en/docs/ngx_core_module.html#error_log)
|
||||
|
||||
## http2-max-field-size
|
||||
|
||||
|
@ -387,14 +387,14 @@ _References:_
|
|||
Sets the maximum number of requests (including push requests) that can be served through one HTTP/2 connection, after which the next client request will lead to connection closing and the need of establishing a new connection.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_requests](http://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_requests)
|
||||
[https://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_requests](https://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_requests)
|
||||
|
||||
## http2-max-concurrent-streams
|
||||
|
||||
Sets the maximum number of concurrent HTTP/2 streams in a connection.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_concurrent_streams](http://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_concurrent_streams)
|
||||
[https://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_concurrent_streams](https://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_concurrent_streams)
|
||||
|
||||
## hsts
|
||||
|
||||
|
@ -423,7 +423,7 @@ Enables or disables the preload attribute in the HSTS feature (when it is enable
|
|||
Sets the time during which a keep-alive client connection will stay open on the server side. The zero value disables keep-alive client connections.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_timeout](http://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_timeout)
|
||||
[https://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_timeout](https://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_timeout)
|
||||
|
||||
!!! important
|
||||
Setting `keep-alive: '0'` will most likely break concurrent http/2 requests due to changes introduced with nginx 1.19.7
|
||||
|
@ -439,7 +439,7 @@ Changes with nginx 1.19.7 16 Feb 2021
|
|||
```
|
||||
|
||||
_References:_
|
||||
[nginx change log](http://nginx.org/en/CHANGES)
|
||||
[nginx change log](https://nginx.org/en/CHANGES)
|
||||
[nginx issue tracker](https://trac.nginx.org/nginx/ticket/2155)
|
||||
[nginx mailing list](https://mailman.nginx.org/pipermail/nginx/2021-May/060697.html)
|
||||
|
||||
|
@ -448,22 +448,22 @@ _References:_
|
|||
Sets the maximum number of requests that can be served through one keep-alive connection.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_requests](http://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_requests)
|
||||
[https://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_requests](https://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_requests)
|
||||
|
||||
## large-client-header-buffers
|
||||
|
||||
Sets the maximum number and size of buffers used for reading large client request header. _**default:**_ 4 8k
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers](http://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers)
|
||||
[https://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers](https://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers)
|
||||
|
||||
## log-format-escape-json
|
||||
|
||||
Sets if the escape parameter allows JSON ("true") or default characters escaping in variables ("false") Sets the nginx [log format](http://nginx.org/en/docs/http/ngx_http_log_module.html#log_format).
|
||||
Sets if the escape parameter allows JSON ("true") or default characters escaping in variables ("false") Sets the nginx [log format](https://nginx.org/en/docs/http/ngx_http_log_module.html#log_format).
|
||||
|
||||
## log-format-upstream
|
||||
|
||||
Sets the nginx [log format](http://nginx.org/en/docs/http/ngx_http_log_module.html#log_format).
|
||||
Sets the nginx [log format](https://nginx.org/en/docs/http/ngx_http_log_module.html#log_format).
|
||||
Example for json output:
|
||||
|
||||
```json
|
||||
|
@ -486,11 +486,11 @@ If disabled, a worker process will accept one new connection at a time. Otherwis
|
|||
_**default:**_ true
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/ngx_core_module.html#multi_accept](http://nginx.org/en/docs/ngx_core_module.html#multi_accept)
|
||||
[https://nginx.org/en/docs/ngx_core_module.html#multi_accept](https://nginx.org/en/docs/ngx_core_module.html#multi_accept)
|
||||
|
||||
## max-worker-connections
|
||||
|
||||
Sets the [maximum number of simultaneous connections](http://nginx.org/en/docs/ngx_core_module.html#worker_connections) that can be opened by each worker process.
|
||||
Sets the [maximum number of simultaneous connections](https://nginx.org/en/docs/ngx_core_module.html#worker_connections) that can be opened by each worker process.
|
||||
0 will use the value of [max-worker-open-files](#max-worker-open-files).
|
||||
_**default:**_ 16384
|
||||
|
||||
|
@ -499,13 +499,13 @@ _**default:**_ 16384
|
|||
|
||||
## max-worker-open-files
|
||||
|
||||
Sets the [maximum number of files](http://nginx.org/en/docs/ngx_core_module.html#worker_rlimit_nofile) that can be opened by each worker process.
|
||||
Sets the [maximum number of files](https://nginx.org/en/docs/ngx_core_module.html#worker_rlimit_nofile) that can be opened by each worker process.
|
||||
The default of 0 means "max open files (system's limit) - 1024".
|
||||
_**default:**_ 0
|
||||
|
||||
## map-hash-bucket-size
|
||||
|
||||
Sets the bucket size for the [map variables hash tables](http://nginx.org/en/docs/http/ngx_http_map_module.html#map_hash_bucket_size). The details of setting up hash tables are provided in a separate [document](http://nginx.org/en/docs/hash.html).
|
||||
Sets the bucket size for the [map variables hash tables](https://nginx.org/en/docs/http/ngx_http_map_module.html#map_hash_bucket_size). The details of setting up hash tables are provided in a separate [document](https://nginx.org/en/docs/hash.html).
|
||||
|
||||
## proxy-real-ip-cidr
|
||||
|
||||
|
@ -518,10 +518,10 @@ Sets custom headers from named configmap before sending traffic to backends. The
|
|||
|
||||
## server-name-hash-max-size
|
||||
|
||||
Sets the maximum size of the [server names hash tables](http://nginx.org/en/docs/http/ngx_http_core_module.html#server_names_hash_max_size) used in server names,map directive’s values, MIME types, names of request header strings, etc.
|
||||
Sets the maximum size of the [server names hash tables](https://nginx.org/en/docs/http/ngx_http_core_module.html#server_names_hash_max_size) used in server names,map directive’s values, MIME types, names of request header strings, etc.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/hash.html](http://nginx.org/en/docs/hash.html)
|
||||
[https://nginx.org/en/docs/hash.html](https://nginx.org/en/docs/hash.html)
|
||||
|
||||
## server-name-hash-bucket-size
|
||||
|
||||
|
@ -529,8 +529,8 @@ Sets the size of the bucket for the server names hash tables.
|
|||
|
||||
_References:_
|
||||
|
||||
- [http://nginx.org/en/docs/hash.html](http://nginx.org/en/docs/hash.html)
|
||||
- [http://nginx.org/en/docs/http/ngx_http_core_module.html#server_names_hash_bucket_size](http://nginx.org/en/docs/http/ngx_http_core_module.html#server_names_hash_bucket_size)
|
||||
- [https://nginx.org/en/docs/hash.html](https://nginx.org/en/docs/hash.html)
|
||||
- [https://nginx.org/en/docs/http/ngx_http_core_module.html#server_names_hash_bucket_size](https://nginx.org/en/docs/http/ngx_http_core_module.html#server_names_hash_bucket_size)
|
||||
|
||||
## proxy-headers-hash-max-size
|
||||
|
||||
|
@ -538,7 +538,7 @@ Sets the maximum size of the proxy headers hash tables.
|
|||
|
||||
_References:_
|
||||
|
||||
- [http://nginx.org/en/docs/hash.html](http://nginx.org/en/docs/hash.html)
|
||||
- [https://nginx.org/en/docs/hash.html](https://nginx.org/en/docs/hash.html)
|
||||
- [https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_headers_hash_max_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_headers_hash_max_size)
|
||||
|
||||
## reuse-port
|
||||
|
@ -552,7 +552,7 @@ Sets the size of the bucket for the proxy headers hash tables.
|
|||
|
||||
_References:_
|
||||
|
||||
- [http://nginx.org/en/docs/hash.html](http://nginx.org/en/docs/hash.html)
|
||||
- [https://nginx.org/en/docs/hash.html](https://nginx.org/en/docs/hash.html)
|
||||
- [https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_headers_hash_bucket_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_headers_hash_bucket_size)
|
||||
|
||||
## plugins
|
||||
|
@ -565,7 +565,7 @@ Send NGINX Server header in responses and display NGINX version in error pages.
|
|||
|
||||
## ssl-ciphers
|
||||
|
||||
Sets the [ciphers](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ciphers) list to enable. The ciphers are specified in the format understood by the OpenSSL library.
|
||||
Sets the [ciphers](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ciphers) list to enable. The ciphers are specified in the format understood by the OpenSSL library.
|
||||
|
||||
The default cipher list is:
|
||||
`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`.
|
||||
|
@ -583,7 +583,7 @@ __Note:__ ssl_prefer_server_ciphers directive will be enabled by default for htt
|
|||
Specifies a curve for ECDHE ciphers.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ecdh_curve](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ecdh_curve)
|
||||
[https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ecdh_curve](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ecdh_curve)
|
||||
|
||||
## ssl-dh-param
|
||||
|
||||
|
@ -593,11 +593,11 @@ _References:_
|
|||
|
||||
- [https://wiki.openssl.org/index.php/Diffie-Hellman_parameters](https://wiki.openssl.org/index.php/Diffie-Hellman_parameters)
|
||||
- [https://wiki.mozilla.org/Security/Server_Side_TLS#DHE_handshake_and_dhparam](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](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_dhparam)
|
||||
- [https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_dhparam](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_dhparam)
|
||||
|
||||
## ssl-protocols
|
||||
|
||||
Sets the [SSL protocols](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_protocols) to use. The default is: `TLSv1.2 TLSv1.3`.
|
||||
Sets the [SSL protocols](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_protocols) to use. The default is: `TLSv1.2 TLSv1.3`.
|
||||
|
||||
Please check the result of the configuration using `https://ssllabs.com/ssltest/analyze.html` or `https://testssl.sh`.
|
||||
|
||||
|
@ -609,34 +609,34 @@ Time Resumption (0-RTT).
|
|||
This requires `ssl-protocols` to have `TLSv1.3` enabled. Enable this with caution, because requests sent within early
|
||||
data are subject to [replay attacks](https://tools.ietf.org/html/rfc8470).
|
||||
|
||||
[ssl_early_data](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_early_data). The default is: `false`.
|
||||
[ssl_early_data](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_early_data). The default is: `false`.
|
||||
|
||||
## ssl-session-cache
|
||||
|
||||
Enables or disables the use of shared [SSL cache](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_cache) among worker processes.
|
||||
Enables or disables the use of shared [SSL cache](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_cache) among worker processes.
|
||||
|
||||
## ssl-session-cache-size
|
||||
|
||||
Sets the size of the [SSL shared session cache](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_cache) between all worker processes.
|
||||
Sets the size of the [SSL shared session cache](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_cache) between all worker processes.
|
||||
|
||||
## ssl-session-tickets
|
||||
|
||||
Enables or disables session resumption through [TLS session tickets](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_tickets).
|
||||
Enables or disables session resumption through [TLS session tickets](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_tickets).
|
||||
|
||||
## ssl-session-ticket-key
|
||||
|
||||
Sets the secret key used to encrypt and decrypt TLS session tickets. The value must be a valid base64 string.
|
||||
To create a ticket: `openssl rand 80 | openssl enc -A -base64`
|
||||
|
||||
[TLS session ticket-key](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_tickets), by default, a randomly generated key is used.
|
||||
[TLS session ticket-key](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_tickets), by default, a randomly generated key is used.
|
||||
|
||||
## ssl-session-timeout
|
||||
|
||||
Sets the time during which a client may [reuse the session](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_timeout) parameters stored in a cache.
|
||||
Sets the time during which a client may [reuse the session](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_timeout) parameters stored in a cache.
|
||||
|
||||
## ssl-buffer-size
|
||||
|
||||
Sets the size of the [SSL buffer](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_buffer_size) used for sending data. The default of 4k helps NGINX to improve TLS Time To First Byte (TTTFB).
|
||||
Sets the size of the [SSL buffer](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_buffer_size) used for sending data. The default of 4k helps NGINX to improve TLS Time To First Byte (TTTFB).
|
||||
|
||||
_References:_
|
||||
[https://www.igvita.com/2013/12/16/optimizing-nginx-tls-time-to-first-byte/](https://www.igvita.com/2013/12/16/optimizing-nginx-tls-time-to-first-byte/)
|
||||
|
@ -652,11 +652,11 @@ _**default:**_ 5s
|
|||
|
||||
## use-gzip
|
||||
|
||||
Enables or disables compression of HTTP responses using the ["gzip" module](http://nginx.org/en/docs/http/ngx_http_gzip_module.html). MIME types to compress are controlled by [gzip-types](#gzip-types). _**default:**_ false
|
||||
Enables or disables compression of HTTP responses using the ["gzip" module](https://nginx.org/en/docs/http/ngx_http_gzip_module.html). MIME types to compress are controlled by [gzip-types](#gzip-types). _**default:**_ false
|
||||
|
||||
## use-geoip
|
||||
|
||||
Enables or disables ["geoip" module](http://nginx.org/en/docs/http/ngx_http_geoip_module.html) that creates variables with values depending on the client IP address, using the precompiled MaxMind databases.
|
||||
Enables or disables ["geoip" module](https://nginx.org/en/docs/http/ngx_http_geoip_module.html) that creates variables with values depending on the client IP address, using the precompiled MaxMind databases.
|
||||
_**default:**_ true
|
||||
|
||||
> __Note:__ MaxMind legacy databases are discontinued and will not receive updates after 2019-01-02, cf. [discontinuation notice](https://support.maxmind.com/geolite-legacy-discontinuation-notice/). Consider [use-geoip2](#use-geoip2) below.
|
||||
|
@ -695,7 +695,7 @@ _**default:**_ `application/xml+rss application/atom+xml application/javascript
|
|||
|
||||
## use-http2
|
||||
|
||||
Enables or disables [HTTP/2](http://nginx.org/en/docs/http/ngx_http_v2_module.html) support in secure connections.
|
||||
Enables or disables [HTTP/2](https://nginx.org/en/docs/http/ngx_http_v2_module.html) support in secure connections.
|
||||
|
||||
## gzip-level
|
||||
|
||||
|
@ -712,12 +712,12 @@ _**default:**_ `application/atom+xml application/javascript application/x-javasc
|
|||
|
||||
## worker-processes
|
||||
|
||||
Sets the number of [worker processes](http://nginx.org/en/docs/ngx_core_module.html#worker_processes).
|
||||
Sets the number of [worker processes](https://nginx.org/en/docs/ngx_core_module.html#worker_processes).
|
||||
The default of "auto" means number of available CPU cores.
|
||||
|
||||
## worker-cpu-affinity
|
||||
|
||||
Binds worker processes to the sets of CPUs. [worker_cpu_affinity](http://nginx.org/en/docs/ngx_core_module.html#worker_cpu_affinity).
|
||||
Binds worker processes to the sets of CPUs. [worker_cpu_affinity](https://nginx.org/en/docs/ngx_core_module.html#worker_cpu_affinity).
|
||||
By default worker processes are not bound to any specific CPUs. The value can be:
|
||||
|
||||
- "": empty string indicate no affinity is applied.
|
||||
|
@ -726,7 +726,7 @@ By default worker processes are not bound to any specific CPUs. The value can be
|
|||
|
||||
## worker-shutdown-timeout
|
||||
|
||||
Sets a timeout for Nginx to [wait for worker to gracefully shutdown](http://nginx.org/en/docs/ngx_core_module.html#worker_shutdown_timeout). _**default:**_ "240s"
|
||||
Sets a timeout for Nginx to [wait for worker to gracefully shutdown](https://nginx.org/en/docs/ngx_core_module.html#worker_shutdown_timeout). _**default:**_ "240s"
|
||||
|
||||
## load-balance
|
||||
|
||||
|
@ -742,21 +742,21 @@ The default is `round_robin`.
|
|||
- To load balance using session cookies, consider the `nginx.ingress.kubernetes.io/affinity` annotation.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/load_balancing.html](http://nginx.org/en/docs/http/load_balancing.html)
|
||||
[https://nginx.org/en/docs/http/load_balancing.html](https://nginx.org/en/docs/http/load_balancing.html)
|
||||
|
||||
## variables-hash-bucket-size
|
||||
|
||||
Sets the bucket size for the variables hash table.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_map_module.html#variables_hash_bucket_size](http://nginx.org/en/docs/http/ngx_http_map_module.html#variables_hash_bucket_size)
|
||||
[https://nginx.org/en/docs/http/ngx_http_map_module.html#variables_hash_bucket_size](https://nginx.org/en/docs/http/ngx_http_map_module.html#variables_hash_bucket_size)
|
||||
|
||||
## variables-hash-max-size
|
||||
|
||||
Sets the maximum size of the variables hash table.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_map_module.html#variables_hash_max_size](http://nginx.org/en/docs/http/ngx_http_map_module.html#variables_hash_max_size)
|
||||
[https://nginx.org/en/docs/http/ngx_http_map_module.html#variables_hash_max_size](https://nginx.org/en/docs/http/ngx_http_map_module.html#variables_hash_max_size)
|
||||
|
||||
## upstream-keepalive-connections
|
||||
|
||||
|
@ -766,7 +766,7 @@ exceeded, the least recently used connections are closed.
|
|||
_**default:**_ 320
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive](http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive)
|
||||
[https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive)
|
||||
|
||||
|
||||
## upstream-keepalive-timeout
|
||||
|
@ -775,7 +775,7 @@ Sets a timeout during which an idle keepalive connection to an upstream server w
|
|||
_**default:**_ 60
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive_timeout](http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive_timeout)
|
||||
[https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive_timeout](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive_timeout)
|
||||
|
||||
|
||||
## upstream-keepalive-requests
|
||||
|
@ -786,47 +786,47 @@ _**default:**_ 10000
|
|||
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive_requests](http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive_requests)
|
||||
[https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive_requests](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive_requests)
|
||||
|
||||
|
||||
## limit-conn-zone-variable
|
||||
|
||||
Sets parameters for a shared memory zone that will keep states for various keys of [limit_conn_zone](http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html#limit_conn_zone). The default of "$binary_remote_addr" variable’s size is always 4 bytes for IPv4 addresses or 16 bytes for IPv6 addresses.
|
||||
Sets parameters for a shared memory zone that will keep states for various keys of [limit_conn_zone](https://nginx.org/en/docs/http/ngx_http_limit_conn_module.html#limit_conn_zone). The default of "$binary_remote_addr" variable’s size is always 4 bytes for IPv4 addresses or 16 bytes for IPv6 addresses.
|
||||
|
||||
## proxy-stream-timeout
|
||||
|
||||
Sets the timeout between two successive read or write operations on client or proxied server connections. If no data is transmitted within this time, the connection is closed.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_timeout](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_timeout)
|
||||
[https://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_timeout](https://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_timeout)
|
||||
|
||||
## proxy-stream-next-upstream
|
||||
|
||||
When a connection to the proxied server cannot be established, determines whether a client connection will be passed to the next server.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream)
|
||||
[https://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream](https://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream)
|
||||
|
||||
## proxy-stream-next-upstream-timeout
|
||||
|
||||
Limits the time allowed to pass a connection to the next server. The 0 value turns off this limitation.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream_timeout](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream_timeout)
|
||||
[https://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream_timeout](https://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream_timeout)
|
||||
|
||||
## proxy-stream-next-upstream-tries
|
||||
|
||||
Limits the number of possible tries a request should be passed to the next server. The 0 value turns off this limitation.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream_tries](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream_timeout)
|
||||
[https://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream_tries](https://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_next_upstream_timeout)
|
||||
|
||||
## proxy-stream-responses
|
||||
|
||||
Sets the number of datagrams expected from the proxied server in response to the client request if the UDP protocol is used.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_responses](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_responses)
|
||||
[https://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_responses](https://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_responses)
|
||||
|
||||
## bind-address
|
||||
|
||||
|
@ -840,7 +840,7 @@ If false, NGINX ignores incoming `X-Forwarded-*` headers, filling them with the
|
|||
|
||||
## enable-real-ip
|
||||
|
||||
`enable-real-ip` enables the configuration of [http://nginx.org/en/docs/http/ngx_http_realip_module.html](http://nginx.org/en/docs/http/ngx_http_realip_module.html). Specific attributes of the module can be configured further by using `forwarded-for-header` and `proxy-real-ip-cidr` settings.
|
||||
`enable-real-ip` enables the configuration of [https://nginx.org/en/docs/http/ngx_http_realip_module.html](https://nginx.org/en/docs/http/ngx_http_realip_module.html). Specific attributes of the module can be configured further by using `forwarded-for-header` and `proxy-real-ip-cidr` settings.
|
||||
|
||||
## forwarded-for-header
|
||||
|
||||
|
@ -1001,67 +1001,67 @@ You can not use this to add new locations that proxy to the Kubernetes pods, as
|
|||
|
||||
## custom-http-errors
|
||||
|
||||
Enables which HTTP codes should be passed for processing with the [error_page directive](http://nginx.org/en/docs/http/ngx_http_core_module.html#error_page)
|
||||
Enables which HTTP codes should be passed for processing with the [error_page directive](https://nginx.org/en/docs/http/ngx_http_core_module.html#error_page)
|
||||
|
||||
Setting at least one code also enables [proxy_intercept_errors](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_intercept_errors) which are required to process error_page.
|
||||
Setting at least one code also enables [proxy_intercept_errors](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_intercept_errors) which are required to process error_page.
|
||||
|
||||
Example usage: `custom-http-errors: 404,415`
|
||||
|
||||
## proxy-body-size
|
||||
|
||||
Sets the maximum allowed size of the client request body.
|
||||
See NGINX [client_max_body_size](http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size).
|
||||
See NGINX [client_max_body_size](https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size).
|
||||
|
||||
## proxy-connect-timeout
|
||||
|
||||
Sets the timeout for [establishing a connection with a proxied server](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout). It should be noted that this timeout cannot usually exceed 75 seconds.
|
||||
Sets the timeout for [establishing a connection with a proxied server](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout). It should be noted that this timeout cannot usually exceed 75 seconds.
|
||||
|
||||
## proxy-read-timeout
|
||||
|
||||
Sets the timeout in seconds for [reading a response from the proxied server](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeout). The timeout is set only between two successive read operations, not for the transmission of the whole response.
|
||||
Sets the timeout in seconds for [reading a response from the proxied server](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeout). The timeout is set only between two successive read operations, not for the transmission of the whole response.
|
||||
|
||||
## proxy-send-timeout
|
||||
|
||||
Sets the timeout in seconds for [transmitting a request to the proxied server](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_send_timeout). The timeout is set only between two successive write operations, not for the transmission of the whole request.
|
||||
Sets the timeout in seconds for [transmitting a request to the proxied server](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_send_timeout). The timeout is set only between two successive write operations, not for the transmission of the whole request.
|
||||
|
||||
## proxy-buffers-number
|
||||
|
||||
Sets the number of the buffer used for [reading the first part of the response](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers) received from the proxied server. This part usually contains a small response header.
|
||||
Sets the number of the buffer used for [reading the first part of the response](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers) received from the proxied server. This part usually contains a small response header.
|
||||
|
||||
## proxy-buffer-size
|
||||
|
||||
Sets the size of the buffer used for [reading the first part of the response](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size) received from the proxied server. This part usually contains a small response header.
|
||||
Sets the size of the buffer used for [reading the first part of the response](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size) received from the proxied server. This part usually contains a small response header.
|
||||
|
||||
## proxy-cookie-path
|
||||
|
||||
Sets a text that [should be changed in the path attribute](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_path) of the “Set-Cookie” header fields of a proxied server response.
|
||||
Sets a text that [should be changed in the path attribute](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_path) of the “Set-Cookie” header fields of a proxied server response.
|
||||
|
||||
## proxy-cookie-domain
|
||||
|
||||
Sets a text that [should be changed in the domain attribute](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_domain) of the “Set-Cookie” header fields of a proxied server response.
|
||||
Sets a text that [should be changed in the domain attribute](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_domain) of the “Set-Cookie” header fields of a proxied server response.
|
||||
|
||||
## proxy-next-upstream
|
||||
|
||||
Specifies in [which cases](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream) a request should be passed to the next server.
|
||||
Specifies in [which cases](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream) a request should be passed to the next server.
|
||||
|
||||
## proxy-next-upstream-timeout
|
||||
|
||||
[Limits the time](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream_timeout) in seconds during which a request can be passed to the next server.
|
||||
[Limits the time](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream_timeout) in seconds during which a request can be passed to the next server.
|
||||
|
||||
## proxy-next-upstream-tries
|
||||
|
||||
Limit the number of [possible tries](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream_tries) a request should be passed to the next server.
|
||||
Limit the number of [possible tries](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream_tries) a request should be passed to the next server.
|
||||
|
||||
## proxy-redirect-from
|
||||
|
||||
Sets the original text that should be changed in the "Location" and "Refresh" header fields of a proxied server response. _**default:**_ off
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect)
|
||||
[https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect)
|
||||
|
||||
## proxy-request-buffering
|
||||
|
||||
Enables or disables [buffering of a client request body](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_request_buffering).
|
||||
Enables or disables [buffering of a client request body](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_request_buffering).
|
||||
|
||||
## ssl-redirect
|
||||
|
||||
|
@ -1075,7 +1075,7 @@ _**default:**_ "false"
|
|||
## whitelist-source-range
|
||||
|
||||
Sets the default whitelisted IPs for each `server` block. This can be overwritten by an annotation on an Ingress rule.
|
||||
See [ngx_http_access_module](http://nginx.org/en/docs/http/ngx_http_access_module.html).
|
||||
See [ngx_http_access_module](https://nginx.org/en/docs/http/ngx_http_access_module.html).
|
||||
|
||||
## skip-access-log-urls
|
||||
|
||||
|
@ -1086,7 +1086,7 @@ Sets a list of URLs that should not appear in the NGINX access log. This is usef
|
|||
Limits the rate of response transmission to a client. The rate is specified in bytes per second. The zero value disables rate limiting. The limit is set per a request, and so if a client simultaneously opens two connections, the overall rate will be twice as much as the specified limit.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_core_module.html#limit_rate](http://nginx.org/en/docs/http/ngx_http_core_module.html#limit_rate)
|
||||
[https://nginx.org/en/docs/http/ngx_http_core_module.html#limit_rate](https://nginx.org/en/docs/http/ngx_http_core_module.html#limit_rate)
|
||||
|
||||
## limit-rate-after
|
||||
|
||||
|
@ -1114,7 +1114,7 @@ lua-shared-dicts: "certificate_data: 100, my_custom_plugin: 512k"
|
|||
```
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_core_module.html#limit_rate_after](http://nginx.org/en/docs/http/ngx_http_core_module.html#limit_rate_after)
|
||||
[https://nginx.org/en/docs/http/ngx_http_core_module.html#limit_rate_after](https://nginx.org/en/docs/http/ngx_http_core_module.html#limit_rate_after)
|
||||
|
||||
## http-redirect-code
|
||||
|
||||
|
@ -1128,19 +1128,19 @@ _**default:**_ 308
|
|||
|
||||
## proxy-buffering
|
||||
|
||||
Enables or disables [buffering of responses from the proxied server](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering).
|
||||
Enables or disables [buffering of responses from the proxied server](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering).
|
||||
|
||||
## limit-req-status-code
|
||||
|
||||
Sets the [status code to return in response to rejected requests](http://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req_status). _**default:**_ 503
|
||||
Sets the [status code to return in response to rejected requests](https://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req_status). _**default:**_ 503
|
||||
|
||||
## limit-conn-status-code
|
||||
|
||||
Sets the [status code to return in response to rejected connections](http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html#limit_conn_status). _**default:**_ 503
|
||||
Sets the [status code to return in response to rejected connections](https://nginx.org/en/docs/http/ngx_http_limit_conn_module.html#limit_conn_status). _**default:**_ 503
|
||||
|
||||
## enable-syslog
|
||||
|
||||
Enable [syslog](http://nginx.org/en/docs/syslog.html) feature for access log and error log. _**default:**_ false
|
||||
Enable [syslog](https://nginx.org/en/docs/syslog.html) feature for access log and error log. _**default:**_ false
|
||||
|
||||
## syslog-host
|
||||
|
||||
|
@ -1206,7 +1206,7 @@ Enables caching for global auth requests. Specify a lookup key for auth response
|
|||
|
||||
## global-auth-cache-duration
|
||||
|
||||
Set a caching time for auth responses based on their response codes, e.g. `200 202 30m`. See [proxy_cache_valid](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_valid) for details. You may specify multiple, comma-separated values: `200 202 10m, 401 5m`. defaults to `200 202 401 5m`.
|
||||
Set a caching time for auth responses based on their response codes, e.g. `200 202 30m`. See [proxy_cache_valid](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_valid) for details. You may specify multiple, comma-separated values: `200 202 10m, 401 5m`. defaults to `200 202 401 5m`.
|
||||
|
||||
## no-auth-locations
|
||||
|
||||
|
@ -1218,7 +1218,7 @@ _**default:**_ "/.well-known/acme-challenge"
|
|||
A comma-separated list of IP addresses (or subnets), request from which have to be blocked globally.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_access_module.html#deny](http://nginx.org/en/docs/http/ngx_http_access_module.html#deny)
|
||||
[https://nginx.org/en/docs/http/ngx_http_access_module.html#deny](https://nginx.org/en/docs/http/ngx_http_access_module.html#deny)
|
||||
|
||||
## block-user-agents
|
||||
|
||||
|
@ -1226,7 +1226,7 @@ A comma-separated list of User-Agent, request from which have to be blocked glob
|
|||
It's possible to use here full strings and regular expressions. More details about valid patterns can be found at `map` Nginx directive documentation.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_map_module.html#map](http://nginx.org/en/docs/http/ngx_http_map_module.html#map)
|
||||
[https://nginx.org/en/docs/http/ngx_http_map_module.html#map](https://nginx.org/en/docs/http/ngx_http_map_module.html#map)
|
||||
|
||||
## block-referers
|
||||
|
||||
|
@ -1234,7 +1234,7 @@ A comma-separated list of Referers, request from which have to be blocked global
|
|||
It's possible to use here full strings and regular expressions. More details about valid patterns can be found at `map` Nginx directive documentation.
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_map_module.html#map](http://nginx.org/en/docs/http/ngx_http_map_module.html#map)
|
||||
[https://nginx.org/en/docs/http/ngx_http_map_module.html#map](https://nginx.org/en/docs/http/ngx_http_map_module.html#map)
|
||||
|
||||
## proxy-ssl-location-only
|
||||
|
||||
|
@ -1247,7 +1247,7 @@ Sets the default MIME type of a response.
|
|||
_**default:**_ text/html
|
||||
|
||||
_References:_
|
||||
[http://nginx.org/en/docs/http/ngx_http_core_module.html#default_type](http://nginx.org/en/docs/http/ngx_http_core_module.html#default_type)
|
||||
[https://nginx.org/en/docs/http/ngx_http_core_module.html#default_type](https://nginx.org/en/docs/http/ngx_http_core_module.html#default_type)
|
||||
|
||||
## global-rate-limit
|
||||
|
||||
|
|
|
@ -4,4 +4,4 @@ There are three ways to customize NGINX:
|
|||
|
||||
1. [ConfigMap](./configmap.md): using a Configmap to set global configurations in NGINX.
|
||||
2. [Annotations](./annotations.md): use this if you want a specific configuration for a particular Ingress rule.
|
||||
3. [Custom template](./custom-template.md): when more specific settings are required, like [open_file_cache](http://nginx.org/en/docs/http/ngx_http_core_module.html#open_file_cache), adjust [listen](http://nginx.org/en/docs/http/ngx_http_core_module.html#listen) options as `rcvbuf` or when is not possible to change the configuration through the ConfigMap.
|
||||
3. [Custom template](./custom-template.md): when more specific settings are required, like [open_file_cache](https://nginx.org/en/docs/http/ngx_http_core_module.html#open_file_cache), adjust [listen](https://nginx.org/en/docs/http/ngx_http_core_module.html#listen) options as `rcvbuf` or when is not possible to change the configuration through the ConfigMap.
|
||||
|
|
|
@ -43,5 +43,5 @@ Additional available variables:
|
|||
|
||||
Sources:
|
||||
|
||||
- [Upstream variables](http://nginx.org/en/docs/http/ngx_http_upstream_module.html#variables)
|
||||
- [Embedded variables](http://nginx.org/en/docs/http/ngx_http_core_module.html#variables)
|
||||
- [Upstream variables](https://nginx.org/en/docs/http/ngx_http_upstream_module.html#variables)
|
||||
- [Embedded variables](https://nginx.org/en/docs/http/ngx_http_core_module.html#variables)
|
||||
|
|
|
@ -28,7 +28,7 @@ Ensure that the relevant [ingress rules specify a matching host name](https://ku
|
|||
## Default SSL Certificate
|
||||
|
||||
NGINX provides the option to configure a server as a catch-all with
|
||||
[server_name](http://nginx.org/en/docs/http/server_names.html)
|
||||
[server_name](https://nginx.org/en/docs/http/server_names.html)
|
||||
for requests that do not match any of the configured server names.
|
||||
This configuration works out-of-the-box for HTTP traffic.
|
||||
For HTTPS, a certificate is naturally required.
|
||||
|
|
|
@ -9,7 +9,7 @@ Every ingress-nginx Lua plugin is expected to have `main.lua` file and all of it
|
|||
`main.lua` is the entry point of the plugin. The plugin manager uses convention over configuration
|
||||
strategy and automatically runs functions defined in `main.lua` in the corresponding Nginx phase based on their name.
|
||||
|
||||
Nginx has different [request processing phases](http://nginx.org/en/docs/dev/development_guide.html#http_phases).
|
||||
Nginx has different [request processing phases](https://nginx.org/en/docs/dev/development_guide.html#http_phases).
|
||||
By defining functions with the following names, you can run your custom Lua code in the corresponding Nginx phase:
|
||||
|
||||
- `init_worker`: useful for initializing some data per Nginx worker process
|
||||
|
|
Loading…
Reference in a new issue