ingress-nginx-helm/docs/faq.md

58 lines
2.7 KiB
Markdown
Raw Normal View History

2023-05-26 18:28:19 +00:00
# FAQ
## Retaining Client IPAddress
Please read [Retain Client IPAddress Guide here](./user-guide/retaining-client-ipaddress.md).
## Kubernetes v1.22 Migration
2024-04-04 15:18:53 +00:00
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](./user-guide/k8s-122-migration.md).
2023-05-26 18:28:19 +00:00
## Validation Of __`path`__
2024-04-04 15:18:53 +00:00
- 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`.
2023-05-26 18:28:19 +00:00
2024-04-04 15:18:53 +00:00
- 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.
2023-05-26 18:28:19 +00:00
2024-04-04 15:18:53 +00:00
- 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 `"/."`
2023-05-26 18:28:19 +00:00
2024-04-04 15:18:53 +00:00
- When the ingress resource path contains other characters (like on rewrite
configurations), the pathType value should be "`ImplementationSpecific`".
2023-05-26 18:28:19 +00:00
- API Spec on pathType is documented [here](https://kubernetes.io/docs/concepts/services-networking/ingress/#path-types)
2024-04-04 15:18:53 +00:00
- 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.
2023-05-26 18:28:19 +00:00
2024-04-04 15:18:53 +00:00
- 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](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#strict-validate-path-type)
2023-05-26 18:28:19 +00:00
- A complete example of an Openpolicyagent gatekeeper rule is available [here](https://kubernetes.github.io/ingress-nginx/examples/openpolicyagent/)
2024-04-04 15:18:53 +00:00
- If you have any issues or concerns, please do one of the following:
- Open a GitHub issue
2023-05-26 18:28:19 +00:00
- Comment in our Dev Slack Channel
2024-04-04 15:18:53 +00:00
- Open a thread in our Google Group <ingress-nginx-dev@kubernetes.io>
## Why is chunking not working since controller v1.10 ?
- 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>