diff --git a/faq/index.html b/faq/index.html index 619db5431..c3ff14321 100644 --- a/faq/index.html +++ b/faq/index.html @@ -52,4 +52,4 @@ log_format main '$remote_addr - $remote_user [$time_local] "$request&qu 'host=$host x-forwarded-for=$http_x_forwarded_for'; access_log /var/log/nginx/access.log main; -
If you are using Ingress objects in your cluster (running Kubernetes older than version 1.22), and you plan to upgrade your Kubernetes version to K8S 1.22 or above, then please read the migration guide here.
path
¶For improving security and also following desired standards on Kubernetes API spec, the next release, scheduled for v1.8.0, will include a new & optional feature of validating the value for the key ingress.spec.rules.http.paths.path
.
This behavior will be disabled by default on the 1.8.0 release and enabled by default on the next breaking change release, set for 2.0.0.
When "ingress.spec.rules.http.pathType=Exact
" or "pathType=Prefix
", this validation will limit the characters accepted on the field "ingress.spec.rules.http.paths.path
", to "alphanumeric characters
", and "/," "_," "-."
Also, in this case, the path should start with "/."
When the ingress resource path contains other characters (like on rewrite configurations), the pathType value should be "ImplementationSpecific
".
API Spec on pathType is documented here
When this option is enabled, the validation will happen on the Admission Webhook. So if any new ingress object contains characters other than alphanumeric characters, and, "/,","_","-"
, in the path
field, but is not using pathType
value as ImplementationSpecific
, then the ingress object will be denied admission.
The cluster admin should establish validation rules using mechanisms like "Open Policy Agent
", to validate that only authorized users can use ImplementationSpecific pathType and that only the authorized characters can be used. The configmap value is here
A complete example of an Openpolicyagent gatekeeper rule is available here
If you have any issues or concerns, please do one of the following:
If your code is setting the HTTP header "Transfer-Encoding: chunked"
and the controller log messages show an error about duplicate header, it is because of this change http://hg.nginx.org/nginx/rev/2bf7792c262e
More details are available in this issue https://github.com/kubernetes/ingress-nginx/issues/11162