Ingress NGINX Controller for Kubernetes
Find a file
Artur Juraszek 3a887f28e8
Properly support a TLS-wrapped OCSP responder (#10164)
Current implementation of OCSP stapling makes use of the DNS caching machinery[^1],
which results in resty.http not seeing the actual host name of the OCSP responder.
On HTTP level, this is already mitigated via overriding the Host header, but
if a given responder operates on a HTTPS endpoint (a setup which, admittedly, isn't
very popular due to its chicken-and-egg caveats involved but is nonetheless legal[^2])
the connection will fail to be established. A relevant (and a bit redacted) excerpt from logs:

  2023/07/02 18:13:23 [info] 112#112: *29039 [lua] dns.lua:32: cache_set(): cache set for 'my.ocsp.responder' with value of [10.1.2.3, 10.4.5.6, 10.7.8.9] and ttl of 30., context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:442
  2023/07/02 18:13:23 [error] 112#112: *29039 lua ssl certificate does not match host "10.1.2.3", context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:442
  2023/07/02 18:13:23 [error] 112#112: *29039 [lua] certificate.lua:143: fetch_and_cache_ocsp_response(): could not get OCSP response: certificate host mismatch, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:442

[^1]: https://github.com/kubernetes/ingress-nginx/blob/ebb6314/rootfs/etc/nginx/lua/certificate.lua#L81
[^2]: https://datatracker.ietf.org/doc/html/rfc2560#appendix-A.1.1
2024-02-27 05:56:40 -08:00
.github Bump grpc and reintroduce OTEL compilation (#11021) 2024-02-26 15:05:00 -08:00
build Bump go to v1.21.6 and set a single source of truth (#10926) 2024-01-27 17:15:14 -08:00
changelog Release controller 1.9.6 and helm 4.9.1 (#10919) 2024-01-26 23:45:19 -08:00
charts/ingress-nginx Chart: Set --enable-metrics depending on controller.metrics.enabled. (#10959) 2024-02-01 22:55:15 -08:00
cmd Add missing dash (#10663) 2023-11-21 09:24:24 +01:00
deploy Release controller 1.9.6 and helm 4.9.1 (#10919) 2024-01-26 23:45:19 -08:00
docs Update ingress-path-matching.md (#11008) 2024-02-21 22:07:07 -08:00
hack Fix print-e2e-suite (#9536) 2024-02-27 05:41:04 -08:00
images Bump modsecurity on nginx 1.25 (#11024) 2024-02-26 17:08:45 -08:00
internal Add OTEL build test and for NGINX v1.25 (#10889) 2024-01-27 07:33:50 -08:00
magefiles Bump go to v1.21.6 and set a single source of truth (#10926) 2024-01-27 17:15:14 -08:00
pkg fix: remove tcpproxy copy error handling 2023-11-29 16:00:40 +00:00
rootfs Properly support a TLS-wrapped OCSP responder (#10164) 2024-02-27 05:56:40 -08:00
test E2E Tests: Explicitly enable metrics. (#10962) 2024-02-02 05:45:03 -08:00
version Refactor version helper (#4437) 2019-08-13 13:46:16 -04:00
.gcloudignore add gcloud ignore 2023-06-23 09:31:00 -04:00
.gitignore Add extra configMaps support to helm chart (#10673) 2023-12-02 14:26:23 +01:00
.golangci.yml Add golangci github action and replace the deprecated golint (#10187) 2023-09-06 10:06:53 -07:00
.goreleaser.yaml Reimplement kubectl plugin release workflow (#8812) 2022-08-11 21:22:43 -07:00
.luacheckrc Enable lj-releng tool to lint lua code. 2020-06-09 18:01:35 +08:00
Changelog.md Automated Release Controller 1.5.2 (#9455) 2022-12-29 13:35:32 -08:00
cloudbuild.yaml with chroot now it can take longer than 30 mins 2022-12-24 15:51:50 -05:00
code-of-conduct.md Update code-of-conduct.md (#1842) 2017-12-20 15:34:27 -03:00
CONTRIBUTING.md Tips for new contributors (#8924) 2022-09-19 06:15:23 -07:00
ginkgo_upgrade.md Correct typo from 'gingko' to 'ginkgo' (#10780) 2023-12-20 17:06:41 +01:00
go.mod Bump github.com/prometheus/client_model from 0.5.0 to 0.6.0 (#10998) 2024-02-19 03:10:47 -08:00
go.sum Bump github.com/prometheus/client_model from 0.5.0 to 0.6.0 (#10998) 2024-02-19 03:10:47 -08:00
go.work Bump go to v1.21.6 and set a single source of truth (#10926) 2024-01-27 17:15:14 -08:00
go.work.sum Bump go to v1.21.6 and set a single source of truth (#10926) 2024-01-27 17:15:14 -08:00
GOLANG_VERSION Bump go to v1.21.6 and set a single source of truth (#10926) 2024-01-27 17:15:14 -08:00
ingress-nginx.yaml Add mage files for changelog 2023-01-19 11:46:01 -05:00
ISSUE_TRIAGE.md Fix typos in ISSUE_TRIAGE.md (#7863) 2021-11-04 04:52:03 -07:00
LICENSE Initial commit 2016-11-04 23:54:14 +01:00
Makefile Fix golang makefile var name (#10932) 2024-01-28 15:59:52 -08:00
MANUAL_RELEASE.md Revert "Remove fastcgi feature" (#10081) 2023-06-13 12:55:59 -07:00
mkdocs.yml Docs: Keep title in navbar in upcase (#10755) 2023-12-13 09:54:59 +01:00
netlify.toml netlify: Only trigger preview when there are changes in docs. (#10144) 2023-06-27 11:50:32 -07:00
NEW_CONTRIBUTOR.md doc: update NEW_CONTRIBUTOR.md (#9381) 2022-12-07 16:10:22 -08:00
NEW_RELEASE_PROCESS.md Add mage files for changelog 2023-01-19 11:46:01 -05:00
NGINX_BASE supdate images from golang upgrade (#10750) 2023-12-12 03:16:59 +01:00
OWNERS I have not been able to fulfill my maintainer responsibilities for a while already, making it official now. (#9883) 2023-04-24 05:55:02 -07:00
OWNERS_ALIASES Add ubergesundheit to helm maintainers and reviewers (#10822) 2024-01-04 15:35:21 +01:00
README.md Release controller 1.9.6 and helm 4.9.1 (#10919) 2024-01-26 23:45:19 -08:00
SECURITY.md Add SECURITY.md 2020-07-27 16:01:17 -06:00
SECURITY_CONTACTS Add security contacts (#7642) 2021-09-15 12:24:12 -07:00
TAG Update TAG in main to 1.9.5 latest 2023-12-22 19:48:15 +01:00

Ingress NGINX Controller

CII Best Practices Go Report Card GitHub license GitHub stars GitHub stars

Overview

ingress-nginx is an Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer.

Learn more about Ingress on the main Kubernetes documentation site.

Get started

See the Getting Started document.

Troubleshooting

If you encounter issues, review the troubleshooting docs, file an issue, or talk to us on the #ingress-nginx channel on the Kubernetes Slack server.

Changelog

See the list of releases for all changes. For detailed changes for each release, please check the changelog-$version.md file for the release version. For detailed changes on the ingress-nginx helm chart, please check the changelog folder for a specific version CHANGELOG-$current-version.md file.

Supported Versions table

Supported versions for the ingress-nginx project mean that we have completed E2E tests, and they are passing for the versions listed. Ingress-Nginx versions may work on older versions, but the project does not make that guarantee.

Supported Ingress-NGINX version k8s supported version Alpine Version Nginx Version Helm Chart Version
🔄 v1.9.6 1.29, 1.28, 1.27, 1.26, 1.25 3.19.0 1.21.6 4.9.1*
🔄 v1.9.5 1.28, 1.27, 1.26, 1.25 3.18.4 1.21.6 4.9.0*
🔄 v1.9.4 1.28, 1.27, 1.26, 1.25 3.18.4 1.21.6 4.8.3
🔄 v1.9.3 1.28, 1.27, 1.26, 1.25 3.18.4 1.21.6 4.8.*
🔄 v1.9.1 1.28, 1.27, 1.26, 1.25 3.18.4 1.21.6 4.8.*
🔄 v1.9.0 1.28, 1.27, 1.26, 1.25 3.18.2 1.21.6 4.8.*
🔄 v1.8.4 1.27, 1.26, 1.25, 1.24 3.18.2 1.21.6 4.7.*
🔄 v1.8.2 1.27, 1.26, 1.25, 1.24 3.18.2 1.21.6 4.7.*
🔄 v1.8.1 1.27, 1.26, 1.25, 1.24 3.18.2 1.21.6 4.7.*
🔄 v1.8.0 1.27, 1.26, 1.25, 1.24 3.18.0 1.21.6 4.7.*
v1.7.1 1.27, 1.26, 1.25, 1.24 3.17.2 1.21.6 4.6.*
v1.7.0 1.26, 1.25, 1.24 3.17.2 1.21.6 4.6.*
v1.6.4 1.26, 1.25, 1.24, 1.23 3.17.0 1.21.6 4.5.*
v1.5.1 1.25, 1.24, 1.23 3.16.2 1.21.6 4.4.*
v1.4.0 1.25, 1.24, 1.23, 1.22 3.16.2 1.19.10† 4.3.0
v1.3.1 1.24, 1.23, 1.22, 1.21, 1.20 3.16.2 1.19.10† 4.2.5
v1.3.0 1.24, 1.23, 1.22, 1.21, 1.20 3.16.0 1.19.10† 4.2.3

See this article if you want upgrade to the stable Ingress API.

Get Involved

Thanks for taking the time to join our community and start contributing!

  • This project adheres to the Kubernetes Community Code of Conduct. By participating in this project, you agree to abide by its terms.

  • Contributing: Contributions of all kinds are welcome!

    • Read CONTRIBUTING.md for information about setting up your environment, the workflow that we expect, and instructions on the developer certificate of origin that we require.
    • Join our Kubernetes Slack channel for developer discussion : #ingress-nginx-dev.
    • Submit GitHub issues for any feature enhancements, bugs, or documentation problems.
      • Please make sure to read the Issue Reporting Checklist before opening an issue. Issues not conforming to the guidelines may be closed immediately.
    • Join our ingress-nginx-dev mailing list
  • Support:

License

Apache License 2.0