4 lines
No EOL
139 KiB
HTML
4 lines
No EOL
139 KiB
HTML
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link href=https://kubernetes.github.io/ingress-nginx/e2e-tests/ rel=canonical><link rel=icon href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.5.3, mkdocs-material-9.4.5"><title>E2e tests - Ingress-Nginx Controller</title><link rel=stylesheet href=../assets/stylesheets/main.6a10b989.min.css><link rel=stylesheet href=../assets/stylesheets/palette.356b1318.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../extra.css><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=green> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#e2e-test-suite-for-ingress-nginx-controller class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=.. title="Ingress-Nginx Controller" class="md-header__button md-logo" aria-label="Ingress-Nginx Controller" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> Ingress-Nginx Controller </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> E2e tests </span> </div> </div> </div> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/kubernetes/ingress-nginx title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> kubernetes/ingress-nginx </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=.. class=md-tabs__link> Welcome </a> </li> <li class=md-tabs__item> <a href=../deploy/ class=md-tabs__link> Deployment </a> </li> <li class=md-tabs__item> <a href=../user-guide/nginx-configuration/ class=md-tabs__link> User Guide </a> </li> <li class=md-tabs__item> <a href=../examples/ class=md-tabs__link> Examples </a> </li> <li class=md-tabs__item> <a href=../developer-guide/getting-started/ class=md-tabs__link> Developer Guide </a> </li> <li class=md-tabs__item> <a href=../faq/ class=md-tabs__link> FAQ </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=.. title="Ingress-Nginx Controller" class="md-nav__button md-logo" aria-label="Ingress-Nginx Controller" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg> </a> Ingress-Nginx Controller </label> <div class=md-nav__source> <a href=https://github.com/kubernetes/ingress-nginx title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> kubernetes/ingress-nginx </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <label class=md-nav__link for=__nav_1 id=__nav_1_label tabindex> <span class=md-ellipsis> Welcome </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Welcome </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=.. class=md-nav__link> <span class=md-ellipsis> Welcome </span> </a> </li> <li class=md-nav__item> <a href=../how-it-works/ class=md-nav__link> <span class=md-ellipsis> How it works </span> </a> </li> <li class=md-nav__item> <a href=../troubleshooting/ class=md-nav__link> <span class=md-ellipsis> Troubleshooting </span> </a> </li> <li class=md-nav__item> <a href=../kubectl-plugin/ class=md-nav__link> <span class=md-ellipsis> kubectl plugin </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex> <span class=md-ellipsis> Deployment </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Deployment </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../deploy/ class=md-nav__link> <span class=md-ellipsis> Installation Guide </span> </a> </li> <li class=md-nav__item> <a href=../deploy/baremetal/ class=md-nav__link> <span class=md-ellipsis> Bare-metal considerations </span> </a> </li> <li class=md-nav__item> <a href=../deploy/rbac/ class=md-nav__link> <span class=md-ellipsis> Role Based Access Control (RBAC) </span> </a> </li> <li class=md-nav__item> <a href=../deploy/upgrade/ class=md-nav__link> <span class=md-ellipsis> Upgrade </span> </a> </li> <li class=md-nav__item> <a href=../deploy/hardening-guide/ class=md-nav__link> <span class=md-ellipsis> Hardening guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex> <span class=md-ellipsis> User Guide </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> User Guide </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex> <span class=md-ellipsis> NGINX Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> NGINX Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../user-guide/nginx-configuration/ class=md-nav__link> <span class=md-ellipsis> Introduction </span> </a> </li> <li class=md-nav__item> <a href=../user-guide/basic-usage/ class=md-nav__link> <span class=md-ellipsis> Basic usage </span> </a> </li> <li class=md-nav__item> <a href=../user-guide/nginx-configuration/annotations/ class=md-nav__link> <span class=md-ellipsis> Annotations </span> </a> </li> <li class=md-nav__item> <a href=../user-guide/nginx-configuration/annotations-risk/ class=md-nav__link> <span class=md-ellipsis> Annotations Risks </span> </a> </li> <li class=md-nav__item> <a href=../user-guide/nginx-configuration/configmap/ class=md-nav__link> <span class=md-ellipsis> ConfigMap </span> </a> </li> <li class=md-nav__item> <a href=../user-guide/nginx-configuration/custom-template/ class=md-nav__link> <span class=md-ellipsis> Custom NGINX template </span> </a> </li> <li class=md-nav__item> <a href=../user-guide/nginx-configuration/log-format/ class=md-nav__link> <span class=md-ellipsis> Log format </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../user-guide/cli-arguments/ class=md-nav__link> <span class=md-ellipsis> Command line arguments </span> </a> </li> <li class=md-nav__item> <a href=../user-guide/custom-errors/ class=md-nav__link> <span class=md-ellipsis> Custom errors </span> </a> </li> <li class=md-nav__item> <a href=../user-guide/default-backend/ class=md-nav__link> <span class=md-ellipsis> Default backend </span> </a> </li> <li class=md-nav__item> <a href=../user-guide/exposing-tcp-udp-services/ class=md-nav__link> <span class=md-ellipsis> Exposing TCP and UDP services </span> </a> </li> <li class=md-nav__item> <a href=../user-guide/fcgi-services/ class=md-nav__link> <span class=md-ellipsis> Exposing FCGI services </span> </a> </li> <li class=md-nav__item> <a href=../user-guide/ingress-path-matching/ class=md-nav__link> <span class=md-ellipsis> Regular expressions in paths </span> </a> </li> <li class=md-nav__item> <a href=../user-guide/external-articles/ class=md-nav__link> <span class=md-ellipsis> External Articles </span> </a> </li> <li class=md-nav__item> <a href=../user-guide/miscellaneous/ class=md-nav__link> <span class=md-ellipsis> Miscellaneous </span> </a> </li> <li class=md-nav__item> <a href=../user-guide/monitoring/ class=md-nav__link> <span class=md-ellipsis> Prometheus and Grafana installation </span> </a> </li> <li class=md-nav__item> <a href=../user-guide/multiple-ingress/ class=md-nav__link> <span class=md-ellipsis> Multiple Ingress controllers </span> </a> </li> <li class=md-nav__item> <a href=../user-guide/tls/ class=md-nav__link> <span class=md-ellipsis> TLS/HTTPS </span> </a> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_13> <label class=md-nav__link for=__nav_3_13 id=__nav_3_13_label tabindex> <span class=md-ellipsis> Third party addons </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_13_label aria-expanded=false> <label class=md-nav__title for=__nav_3_13> <span class="md-nav__icon md-icon"></span> Third party addons </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../user-guide/third-party-addons/modsecurity/ class=md-nav__link> <span class=md-ellipsis> ModSecurity Web Application Firewall </span> </a> </li> <li class=md-nav__item> <a href=../user-guide/third-party-addons/opentelemetry/ class=md-nav__link> <span class=md-ellipsis> OpenTelemetry </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex> <span class=md-ellipsis> Examples </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Examples </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../examples/ class=md-nav__link> <span class=md-ellipsis> Introduction </span> </a> </li> <li class=md-nav__item> <a href=../examples/PREREQUISITES/ class=md-nav__link> <span class=md-ellipsis> Prerequisites </span> </a> </li> <li class=md-nav__item> <a href=../examples/affinity/cookie/ class=md-nav__link> <span class=md-ellipsis> Sticky Sessions </span> </a> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4_4> <label class=md-nav__link for=__nav_4_4 id=__nav_4_4_label tabindex> <span class=md-ellipsis> Auth </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_4_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4_4> <span class="md-nav__icon md-icon"></span> Auth </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../examples/auth/basic/ class=md-nav__link> <span class=md-ellipsis> Basic Authentication </span> </a> </li> <li class=md-nav__item> <a href=../examples/auth/client-certs/ class=md-nav__link> <span class=md-ellipsis> Client Certificate Authentication </span> </a> </li> <li class=md-nav__item> <a href=../examples/auth/external-auth/ class=md-nav__link> <span class=md-ellipsis> External Basic Authentication </span> </a> </li> <li class=md-nav__item> <a href=../examples/auth/oauth-external-auth/ class=md-nav__link> <span class=md-ellipsis> External OAUTH Authentication </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4_5> <label class=md-nav__link for=__nav_4_5 id=__nav_4_5_label tabindex> <span class=md-ellipsis> Customization </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_4_5_label aria-expanded=false> <label class=md-nav__title for=__nav_4_5> <span class="md-nav__icon md-icon"></span> Customization </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../examples/customization/configuration-snippets/ class=md-nav__link> <span class=md-ellipsis> Configuration Snippets </span> </a> </li> <li class=md-nav__item> <a href=../examples/customization/custom-configuration/ class=md-nav__link> <span class=md-ellipsis> Custom Configuration </span> </a> </li> <li class=md-nav__item> <a href=../examples/customization/custom-errors/ class=md-nav__link> <span class=md-ellipsis> Custom Errors </span> </a> </li> <li class=md-nav__item> <a href=../examples/customization/custom-headers/ class=md-nav__link> <span class=md-ellipsis> Custom Headers </span> </a> </li> <li class=md-nav__item> <a href=../examples/customization/external-auth-headers/ class=md-nav__link> <span class=md-ellipsis> External authentication </span> </a> </li> <li class=md-nav__item> <a href=../examples/customization/ssl-dh-param/ class=md-nav__link> <span class=md-ellipsis> Custom DH parameters for perfect forward secrecy </span> </a> </li> <li class=md-nav__item> <a href=../examples/customization/sysctl/ class=md-nav__link> <span class=md-ellipsis> Sysctl tuning </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../examples/docker-registry/ class=md-nav__link> <span class=md-ellipsis> Docker registry </span> </a> </li> <li class=md-nav__item> <a href=../examples/grpc/ class=md-nav__link> <span class=md-ellipsis> gRPC </span> </a> </li> <li class=md-nav__item> <a href=../examples/multi-tls/ class=md-nav__link> <span class=md-ellipsis> Multi TLS certificate termination </span> </a> </li> <li class=md-nav__item> <a href=../examples/rewrite/ class=md-nav__link> <span class=md-ellipsis> Rewrite </span> </a> </li> <li class=md-nav__item> <a href=../examples/static-ip/ class=md-nav__link> <span class=md-ellipsis> Static IPs </span> </a> </li> <li class=md-nav__item> <a href=../examples/tls-termination/ class=md-nav__link> <span class=md-ellipsis> TLS termination </span> </a> </li> <li class=md-nav__item> <a href=../examples/openpolicyagent/ class=md-nav__link> <span class=md-ellipsis> Open Policy Agent rules </span> </a> </li> <li class=md-nav__item> <a href=../examples/canary/ class=md-nav__link> <span class=md-ellipsis> Canary Deployments </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex> <span class=md-ellipsis> Developer Guide </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Developer Guide </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../developer-guide/getting-started/ class=md-nav__link> <span class=md-ellipsis> Getting Started </span> </a> </li> <li class=md-nav__item> <a href=../developer-guide/code-overview/ class=md-nav__link> <span class=md-ellipsis> Code Overview </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../faq/ class=md-nav__link> <span class=md-ellipsis> FAQ </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#admission-admission-controller class=md-nav__link> [Admission] admission controller </a> </li> <li class=md-nav__item> <a href=#affinity-session-cookie-name class=md-nav__link> affinity session-cookie-name </a> </li> <li class=md-nav__item> <a href=#affinitymode class=md-nav__link> affinitymode </a> </li> <li class=md-nav__item> <a href=#server-alias class=md-nav__link> server-alias </a> </li> <li class=md-nav__item> <a href=#app-root class=md-nav__link> app-root </a> </li> <li class=md-nav__item> <a href=#auth- class=md-nav__link> auth-* </a> </li> <li class=md-nav__item> <a href=#auth-tls- class=md-nav__link> auth-tls-* </a> </li> <li class=md-nav__item> <a href=#backend-protocol class=md-nav__link> backend-protocol </a> </li> <li class=md-nav__item> <a href=#canary- class=md-nav__link> canary-* </a> </li> <li class=md-nav__item> <a href=#client-body-buffer-size class=md-nav__link> client-body-buffer-size </a> </li> <li class=md-nav__item> <a href=#connection-proxy-header class=md-nav__link> connection-proxy-header </a> </li> <li class=md-nav__item> <a href=#cors- class=md-nav__link> cors-* </a> </li> <li class=md-nav__item> <a href=#custom-headers- class=md-nav__link> custom-headers-* </a> </li> <li class=md-nav__item> <a href=#custom-http-errors class=md-nav__link> custom-http-errors </a> </li> <li class=md-nav__item> <a href=#default-backend class=md-nav__link> default-backend </a> </li> <li class=md-nav__item> <a href=#disable-access-log-disable-http-access-log-disable-stream-access-log class=md-nav__link> disable-access-log disable-http-access-log disable-stream-access-log </a> </li> <li class=md-nav__item> <a href=#disable-proxy-intercept-errors class=md-nav__link> disable-proxy-intercept-errors </a> </li> <li class=md-nav__item> <a href=#backend-protocol-fastcgi class=md-nav__link> backend-protocol - FastCGI </a> </li> <li class=md-nav__item> <a href=#force-ssl-redirect class=md-nav__link> force-ssl-redirect </a> </li> <li class=md-nav__item> <a href=#from-to-www-redirect class=md-nav__link> from-to-www-redirect </a> </li> <li class=md-nav__item> <a href=#backend-protocol-grpc class=md-nav__link> backend-protocol - GRPC </a> </li> <li class=md-nav__item> <a href=#http2-push-preload class=md-nav__link> http2-push-preload </a> </li> <li class=md-nav__item> <a href=#allowlist-source-range class=md-nav__link> allowlist-source-range </a> </li> <li class=md-nav__item> <a href=#denylist-source-range class=md-nav__link> denylist-source-range </a> </li> <li class=md-nav__item> <a href=#annotation-limit-connections class=md-nav__link> Annotation - limit-connections </a> </li> <li class=md-nav__item> <a href=#limit-rate class=md-nav__link> limit-rate </a> </li> <li class=md-nav__item> <a href=#enable-access-log-enable-rewrite-log class=md-nav__link> enable-access-log enable-rewrite-log </a> </li> <li class=md-nav__item> <a href=#mirror- class=md-nav__link> mirror-* </a> </li> <li class=md-nav__item> <a href=#modsecurity-owasp class=md-nav__link> modsecurity owasp </a> </li> <li class=md-nav__item> <a href=#preserve-trailing-slash class=md-nav__link> preserve-trailing-slash </a> </li> <li class=md-nav__item> <a href=#proxy- class=md-nav__link> proxy-* </a> </li> <li class=md-nav__item> <a href=#proxy-ssl- class=md-nav__link> proxy-ssl-* </a> </li> <li class=md-nav__item> <a href=#permanent-redirect-permanent-redirect-code class=md-nav__link> permanent-redirect permanent-redirect-code </a> </li> <li class=md-nav__item> <a href=#relative-redirects class=md-nav__link> relative-redirects </a> </li> <li class=md-nav__item> <a href=#rewrite-target-use-regex-enable-rewrite-log class=md-nav__link> rewrite-target use-regex enable-rewrite-log </a> </li> <li class=md-nav__item> <a href=#satisfy class=md-nav__link> satisfy </a> </li> <li class=md-nav__item> <a href=#server-snippet class=md-nav__link> server-snippet </a> </li> <li class=md-nav__item> <a href=#service-upstream class=md-nav__link> service-upstream </a> </li> <li class=md-nav__item> <a href=#configuration-snippet class=md-nav__link> configuration-snippet </a> </li> <li class=md-nav__item> <a href=#ssl-ciphers class=md-nav__link> ssl-ciphers </a> </li> <li class=md-nav__item> <a href=#stream-snippet class=md-nav__link> stream-snippet </a> </li> <li class=md-nav__item> <a href=#upstream-hash-by- class=md-nav__link> upstream-hash-by-* </a> </li> <li class=md-nav__item> <a href=#upstream-vhost class=md-nav__link> upstream-vhost </a> </li> <li class=md-nav__item> <a href=#x-forwarded-prefix class=md-nav__link> x-forwarded-prefix </a> </li> <li class=md-nav__item> <a href=#cgroups-cgroups class=md-nav__link> [CGroups] cgroups </a> </li> <li class=md-nav__item> <a href=#debug-cli class=md-nav__link> Debug CLI </a> </li> <li class=md-nav__item> <a href=#default-backend-custom-service class=md-nav__link> [Default Backend] custom service </a> </li> <li class=md-nav__item> <a href=#default-backend_1 class=md-nav__link> [Default Backend] </a> </li> <li class=md-nav__item> <a href=#default-backend-ssl class=md-nav__link> [Default Backend] SSL </a> </li> <li class=md-nav__item> <a href=#default-backend-change-default-settings class=md-nav__link> [Default Backend] change default settings </a> </li> <li class=md-nav__item> <a href=#disable-leader-routing-works-when-leader-election-was-disabled class=md-nav__link> [Disable Leader] Routing works when leader election was disabled </a> </li> <li class=md-nav__item> <a href=#endpointslices-long-service-name class=md-nav__link> [Endpointslices] long service name </a> </li> <li class=md-nav__item> <a href=#topologyhints-topology-aware-routing class=md-nav__link> [TopologyHints] topology aware routing </a> </li> <li class=md-nav__item> <a href=#shutdown-grace-period-shutdown class=md-nav__link> [Shutdown] Grace period shutdown </a> </li> <li class=md-nav__item> <a href=#shutdown-ingress-controller class=md-nav__link> [Shutdown] ingress controller </a> </li> <li class=md-nav__item> <a href=#shutdown-graceful-shutdown-with-pending-request class=md-nav__link> [Shutdown] Graceful shutdown with pending request </a> </li> <li class=md-nav__item> <a href=#ingress-deepinspection class=md-nav__link> [Ingress] DeepInspection </a> </li> <li class=md-nav__item> <a href=#single-ingress-multiple-hosts class=md-nav__link> single ingress - multiple hosts </a> </li> <li class=md-nav__item> <a href=#ingress-pathtype-exact class=md-nav__link> [Ingress] [PathType] exact </a> </li> <li class=md-nav__item> <a href=#ingress-pathtype-mix-exact-and-prefix-paths class=md-nav__link> [Ingress] [PathType] mix Exact and Prefix paths </a> </li> <li class=md-nav__item> <a href=#ingress-pathtype-prefix-checks class=md-nav__link> [Ingress] [PathType] prefix checks </a> </li> <li class=md-nav__item> <a href=#ingress-definition-without-host class=md-nav__link> [Ingress] definition without host </a> </li> <li class=md-nav__item> <a href=#memory-leak-dynamic-certificates class=md-nav__link> [Memory Leak] Dynamic Certificates </a> </li> <li class=md-nav__item> <a href=#load-balancer-load-balance class=md-nav__link> [Load Balancer] load-balance </a> </li> <li class=md-nav__item> <a href=#load-balancer-ewma class=md-nav__link> [Load Balancer] EWMA </a> </li> <li class=md-nav__item> <a href=#load-balancer-round-robin class=md-nav__link> [Load Balancer] round-robin </a> </li> <li class=md-nav__item> <a href=#lua-dynamic-certificates class=md-nav__link> [Lua] dynamic certificates </a> </li> <li class=md-nav__item> <a href=#lua-dynamic-configuration class=md-nav__link> [Lua] dynamic configuration </a> </li> <li class=md-nav__item> <a href=#metrics-exported-prometheus-metrics class=md-nav__link> [metrics] exported prometheus metrics </a> </li> <li class=md-nav__item> <a href=#nginx-configuration class=md-nav__link> nginx-configuration </a> </li> <li class=md-nav__item> <a href=#security-request-smuggling class=md-nav__link> [Security] request smuggling </a> </li> <li class=md-nav__item> <a href=#service-backend-status-code-503 class=md-nav__link> [Service] backend status code 503 </a> </li> <li class=md-nav__item> <a href=#service-type-externalname class=md-nav__link> [Service] Type ExternalName </a> </li> <li class=md-nav__item> <a href=#service-nil-service-backend class=md-nav__link> [Service] Nil Service Backend </a> </li> <li class=md-nav__item> <a href=#access-log class=md-nav__link> access-log </a> </li> <li class=md-nav__item> <a href=#aio-write class=md-nav__link> aio-write </a> </li> <li class=md-nav__item> <a href=#bad-annotation-values class=md-nav__link> Bad annotation values </a> </li> <li class=md-nav__item> <a href=#brotli class=md-nav__link> brotli </a> </li> <li class=md-nav__item> <a href=#configmap-change class=md-nav__link> Configmap change </a> </li> <li class=md-nav__item> <a href=#add-headers class=md-nav__link> add-headers </a> </li> <li class=md-nav__item> <a href=#ssl-flag-default-ssl-certificate class=md-nav__link> [SSL] [Flag] default-ssl-certificate </a> </li> <li class=md-nav__item> <a href=#flag-disable-catch-all class=md-nav__link> [Flag] disable-catch-all </a> </li> <li class=md-nav__item> <a href=#flag-disable-service-external-name class=md-nav__link> [Flag] disable-service-external-name </a> </li> <li class=md-nav__item> <a href=#flag-disable-sync-events class=md-nav__link> [Flag] disable-sync-events </a> </li> <li class=md-nav__item> <a href=#enable-real-ip class=md-nav__link> enable-real-ip </a> </li> <li class=md-nav__item> <a href=#use-forwarded-headers class=md-nav__link> use-forwarded-headers </a> </li> <li class=md-nav__item> <a href=#geoip2 class=md-nav__link> Geoip2 </a> </li> <li class=md-nav__item> <a href=#security-block- class=md-nav__link> [Security] block-* </a> </li> <li class=md-nav__item> <a href=#security-global-auth-url class=md-nav__link> [Security] global-auth-url </a> </li> <li class=md-nav__item> <a href=#global-options class=md-nav__link> global-options </a> </li> <li class=md-nav__item> <a href=#grpc class=md-nav__link> GRPC </a> </li> <li class=md-nav__item> <a href=#gzip class=md-nav__link> gzip </a> </li> <li class=md-nav__item> <a href=#hash-size class=md-nav__link> hash size </a> </li> <li class=md-nav__item> <a href=#flag-ingress-class class=md-nav__link> [Flag] ingress-class </a> </li> <li class=md-nav__item> <a href=#keep-alive-keep-alive-requests class=md-nav__link> keep-alive keep-alive-requests </a> </li> <li class=md-nav__item> <a href=#configmap-limit-rate class=md-nav__link> Configmap - limit-rate </a> </li> <li class=md-nav__item> <a href=#flag-custom-http-and-https-ports class=md-nav__link> [Flag] custom HTTP and HTTPS ports </a> </li> <li class=md-nav__item> <a href=#log-format- class=md-nav__link> log-format-* </a> </li> <li class=md-nav__item> <a href=#lua-lua-shared-dicts class=md-nav__link> [Lua] lua-shared-dicts </a> </li> <li class=md-nav__item> <a href=#main-snippet class=md-nav__link> main-snippet </a> </li> <li class=md-nav__item> <a href=#security-modsecurity-snippet class=md-nav__link> [Security] modsecurity-snippet </a> </li> <li class=md-nav__item> <a href=#enable-multi-accept class=md-nav__link> enable-multi-accept </a> </li> <li class=md-nav__item> <a href=#flag-watch-namespace-selector class=md-nav__link> [Flag] watch namespace selector </a> </li> <li class=md-nav__item> <a href=#security-no-auth-locations class=md-nav__link> [Security] no-auth-locations </a> </li> <li class=md-nav__item> <a href=#add-no-tls-redirect-locations class=md-nav__link> Add no tls redirect locations </a> </li> <li class=md-nav__item> <a href=#ocsp class=md-nav__link> OCSP </a> </li> <li class=md-nav__item> <a href=#configure-opentelemetry class=md-nav__link> Configure Opentelemetry </a> </li> <li class=md-nav__item> <a href=#proxy-connect-timeout class=md-nav__link> proxy-connect-timeout </a> </li> <li class=md-nav__item> <a href=#dynamic-proxy_host class=md-nav__link> Dynamic $proxy_host </a> </li> <li class=md-nav__item> <a href=#proxy-next-upstream class=md-nav__link> proxy-next-upstream </a> </li> <li class=md-nav__item> <a href=#use-proxy-protocol class=md-nav__link> use-proxy-protocol </a> </li> <li class=md-nav__item> <a href=#proxy-read-timeout class=md-nav__link> proxy-read-timeout </a> </li> <li class=md-nav__item> <a href=#proxy-send-timeout class=md-nav__link> proxy-send-timeout </a> </li> <li class=md-nav__item> <a href=#reuse-port class=md-nav__link> reuse-port </a> </li> <li class=md-nav__item> <a href=#configmap-server-snippet class=md-nav__link> configmap server-snippet </a> </li> <li class=md-nav__item> <a href=#server-tokens class=md-nav__link> server-tokens </a> </li> <li class=md-nav__item> <a href=#ssl-ciphers_1 class=md-nav__link> ssl-ciphers </a> </li> <li class=md-nav__item> <a href=#flag-enable-ssl-passthrough class=md-nav__link> [Flag] enable-ssl-passthrough </a> </li> <li class=md-nav__item> <a href=#with-enable-ssl-passthrough-enabled class=md-nav__link> With enable-ssl-passthrough enabled </a> </li> <li class=md-nav__item> <a href=#configmap-stream-snippet class=md-nav__link> configmap stream-snippet </a> </li> <li class=md-nav__item> <a href=#ssl-tls-protocols-ciphers-and-headers class=md-nav__link> [SSL] TLS protocols, ciphers and headers </a> </li> <li class=md-nav__item> <a href=#annotation-validations class=md-nav__link> annotation validations </a> </li> <li class=md-nav__item> <a href=#ssl-redirect-to-https class=md-nav__link> [SSL] redirect to HTTPS </a> </li> <li class=md-nav__item> <a href=#ssl-secret-update class=md-nav__link> [SSL] secret update </a> </li> <li class=md-nav__item> <a href=#status-status-update class=md-nav__link> [Status] status update </a> </li> <li class=md-nav__item> <a href=#tcp-tcp-services class=md-nav__link> [TCP] tcp-services </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <!---
|
|
This file is autogenerated!
|
|
Do not try to edit it manually.
|
|
--> <h1 id=e2e-test-suite-for-ingress-nginx-controller>e2e test suite for <a href=https://github.com/kubernetes/ingress-nginx/tree/main/ >Ingress NGINX Controller</a><a class=headerlink href=#e2e-test-suite-for-ingress-nginx-controller title="Permanent link"> ¶</a></h1> <h3 id=admission-admission-controller><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/admission/admission.go#L39>[Admission] admission controller</a><a class=headerlink href=#admission-admission-controller title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/admission/admission.go#L47>should not allow overlaps of host and paths without canary annotations</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/admission/admission.go#L64>should allow overlaps of host and paths with canary annotation</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/admission/admission.go#L85>should block ingress with invalid path</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/admission/admission.go#L102>should return an error if there is an error validating the ingress definition</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/admission/admission.go#L116>should return an error if there is an invalid value in some annotation</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/admission/admission.go#L130>should return an error if there is a forbidden value in some annotation</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/admission/admission.go#L144>should return an error if there is an invalid path and wrong pathType is set</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/admission/admission.go#L178>should not return an error if the Ingress V1 definition is valid with Ingress Class</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/admission/admission.go#L194>should not return an error if the Ingress V1 definition is valid with IngressClass annotation</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/admission/admission.go#L210>should return an error if the Ingress V1 definition contains invalid annotations</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/admission/admission.go#L224>should not return an error for an invalid Ingress when it has unknown class</a></li> </ul> <h3 id=affinity-session-cookie-name><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/affinity.go#L43>affinity session-cookie-name</a><a class=headerlink href=#affinity-session-cookie-name title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/affinity.go#L50>should set sticky cookie SERVERID</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/affinity.go#L72>should change cookie name on ingress definition change</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/affinity.go#L107>should set the path to /something on the generated cookie</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/affinity.go#L129>does not set the path to / on the generated cookie if there's more than one rule referring to the same backend</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/affinity.go#L202>should set cookie with expires</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/affinity.go#L234>should set cookie with domain</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/affinity.go#L257>should not set cookie without domain annotation</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/affinity.go#L279>should work with use-regex annotation and session-cookie-path</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/affinity.go#L303>should warn user when use-regex is true and session-cookie-path is not set</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/affinity.go#L329>should not set affinity across all server locations when using separate ingresses</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/affinity.go#L361>should set sticky cookie without host</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/affinity.go#L381>should work with server-alias annotation</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/affinity.go#L421>should set secure in cookie with provided true annotation on http</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/affinity.go#L444>should not set secure in cookie with provided false annotation on http</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/affinity.go#L467>should set secure in cookie with provided false annotation on https</a></li> </ul> <h3 id=affinitymode><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/affinitymode.go#L33>affinitymode</a><a class=headerlink href=#affinitymode title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/affinitymode.go#L36>Balanced affinity mode should balance</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/affinitymode.go#L69>Check persistent affinity mode</a></li> </ul> <h3 id=server-alias><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/alias.go#L31>server-alias</a><a class=headerlink href=#server-alias title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/alias.go#L38>should return status code 200 for host 'foo' and 404 for 'bar'</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/alias.go#L64>should return status code 200 for host 'foo' and 'bar'</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/alias.go#L89>should return status code 200 for hosts defined in two ingresses, different path with one alias</a></li> </ul> <h3 id=app-root><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/approot.go#L28>app-root</a><a class=headerlink href=#app-root title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/approot.go#L35>should redirect to /foo</a></li> </ul> <h3 id=auth-><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L45>auth-*</a><a class=headerlink href=#auth- title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L52>should return status code 200 when no authentication is configured</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L71>should return status code 503 when authentication is configured with an invalid secret</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L95>should return status code 401 when authentication is configured but Authorization header is not configured</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L122>should return status code 401 when authentication is configured and Authorization header is sent with invalid credentials</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L150>should return status code 401 and cors headers when authentication and cors is configured but Authorization header is not configured</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L178>should return status code 200 when authentication is configured and Authorization header is sent</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L205>should return status code 200 when authentication is configured with a map and Authorization header is sent</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L233>should return status code 401 when authentication is configured with invalid content and Authorization header is sent</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L272>proxy_set_header My-Custom-Header 42;</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L292>proxy_set_header My-Custom-Header 42;</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L311>proxy_set_header 'My-Custom-Header' '42';</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L420>user retains cookie by default</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L431>user does not retain cookie if upstream returns error status code</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L442>user with annotated ingress retains cookie if upstream returns error status code</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L481>should return status code 200 when signed in</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L490>should redirect to signin url when not signed in</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L501>keeps processing new ingresses even if one of the existing ingresses is misconfigured</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L525>should overwrite Foo header with auth response</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L701>should return status code 200 when signed in</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L710>should redirect to signin url when not signed in</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L721>keeps processing new ingresses even if one of the existing ingresses is misconfigured</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L780>should return status code 200 when signed in after auth backend is deleted </a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L800>should deny login for different location on same server</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L828>should deny login for different servers</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L857>should redirect to signin url when not signed in</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L887>should return 503 (location was denied)</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/auth.go#L895>should add error to the config</a></li> </ul> <h3 id=auth-tls-><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/authtls.go#L31>auth-tls-*</a><a class=headerlink href=#auth-tls- title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/authtls.go#L38>should set sslClientCertificate, sslVerifyClient and sslVerifyDepth with auth-tls-secret</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/authtls.go#L86>should set valid auth-tls-secret, sslVerify to off, and sslVerifyDepth to 2</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/authtls.go#L116>should 302 redirect to error page instead of 400 when auth-tls-error-page is set</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/authtls.go#L163>should pass URL-encoded certificate to upstream</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/authtls.go#L208>should validate auth-tls-verify-client</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/authtls.go#L267>should return 403 using auth-tls-match-cn with no matching CN from client</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/authtls.go#L296>should return 200 using auth-tls-match-cn with matching CN from client</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/authtls.go#L325>should reload the nginx config when auth-tls-match-cn is updated</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/authtls.go#L368>should return 200 using auth-tls-match-cn where atleast one of the regex options matches CN from client</a></li> </ul> <h3 id=backend-protocol><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/backendprotocol.go#L29>backend-protocol</a><a class=headerlink href=#backend-protocol title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/backendprotocol.go#L36>should set backend protocol to https:// and use proxy_pass</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/backendprotocol.go#L51>should set backend protocol to https:// and use proxy_pass with lowercase annotation</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/backendprotocol.go#L66>should set backend protocol to $scheme:// and use proxy_pass</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/backendprotocol.go#L81>should set backend protocol to grpc:// and use grpc_pass</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/backendprotocol.go#L96>should set backend protocol to grpcs:// and use grpc_pass</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/backendprotocol.go#L111>should set backend protocol to '' and use fastcgi_pass</a></li> </ul> <h3 id=canary-><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L36>canary-*</a><a class=headerlink href=#canary- title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L45>should response with a 200 status from the mainline upstream when requests are made to the mainline ingress</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L89>should return 404 status for requests to the canary if no matching ingress is found</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L120>should return the correct status codes when endpoints are unavailable</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L174>should route requests to the correct upstream if mainline ingress is created before the canary ingress</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L232>should route requests to the correct upstream if mainline ingress is created after the canary ingress</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L289>should route requests to the correct upstream if the mainline ingress is modified</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L363>should route requests to the correct upstream if the canary ingress is modified</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L445>should route requests to the correct upstream</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L513>should route requests to the correct upstream</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L594>should route requests to the correct upstream</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L647>should route requests to the correct upstream</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L692>should routes to mainline upstream when the given Regex causes error</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L741>should route requests to the correct upstream</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L790>respects always and never values</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L862>should route requests only to mainline if canary weight is 0</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L910>should route requests only to canary if canary weight is 100</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L952>should route requests only to canary if canary weight is equal to canary weight total</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L995>should route requests split between mainline and canary if canary weight is 50</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L1031>should route requests split between mainline and canary if canary weight is 100 and weight total is 200</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L1070>should not use canary as a catch-all server</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L1104>should not use canary with domain as a server</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L1138>does not crash when canary ingress has multiple paths to the same non-matching backend</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L1175>always routes traffic to canary if first request was affinitized to canary (default behavior)</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L1242>always routes traffic to canary if first request was affinitized to canary (explicit sticky behavior)</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/canary.go#L1310>routes traffic to either mainline or canary backend (legacy behavior)</a></li> </ul> <h3 id=client-body-buffer-size><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/clientbodybuffersize.go#L30>client-body-buffer-size</a><a class=headerlink href=#client-body-buffer-size title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/clientbodybuffersize.go#L37>should set client_body_buffer_size to 1000</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/clientbodybuffersize.go#L59>should set client_body_buffer_size to 1K</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/clientbodybuffersize.go#L81>should set client_body_buffer_size to 1k</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/clientbodybuffersize.go#L103>should set client_body_buffer_size to 1m</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/clientbodybuffersize.go#L125>should set client_body_buffer_size to 1M</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/clientbodybuffersize.go#L147>should not set client_body_buffer_size to invalid 1b</a></li> </ul> <h3 id=connection-proxy-header><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/connection.go#L28>connection-proxy-header</a><a class=headerlink href=#connection-proxy-header title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/connection.go#L35>set connection header to keep-alive</a></li> </ul> <h3 id=cors-><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L33>cors-*</a><a class=headerlink href=#cors- title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L40>should enable cors</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L67>should set cors methods to only allow POST, GET</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L83>should set cors max-age</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L99>should disable cors allow credentials</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L115>should allow origin for cors</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L142>should allow headers for cors</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L158>should expose headers for cors</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L174>should allow - single origin for multiple cors values</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L201>should not allow - single origin for multiple cors values</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L221>should allow correct origins - single origin for multiple cors values</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L272>should not break functionality</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L296>should not break functionality - without <code>*</code></a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L319>should not break functionality with extra domain</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L343>should not match</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L363>should allow - single origin with required port</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L391>should not allow - single origin with port and origin without port</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L410>should not allow - single origin without port and origin with required port</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L430>should allow - matching origin with wildcard origin (2 subdomains)</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L473>should not allow - unmatching origin with wildcard origin (2 subdomains)</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L493>should allow - matching origin+port with wildcard origin</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L520>should not allow - portless origin with wildcard origin</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L540>should allow correct origins - missing subdomain + origin with wildcard origin and correct origin</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L576>should allow - missing origins (should allow all origins)</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L636>should allow correct origin but not others - cors allow origin annotations contain trailing comma</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/cors.go#L673>should allow - origins with non-http[s] protocols</a></li> </ul> <h3 id=custom-headers-><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/customheaders.go#L33>custom-headers-*</a><a class=headerlink href=#custom-headers- title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/customheaders.go#L40>should return status code 200 when no custom-headers is configured</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/customheaders.go#L57>should return status code 503 when custom-headers is configured with an invalid secret</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/customheaders.go#L78>more_set_headers 'My-Custom-Header' '42';</a></li> </ul> <h3 id=custom-http-errors><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/customhttperrors.go#L34>custom-http-errors</a><a class=headerlink href=#custom-http-errors title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/customhttperrors.go#L41>configures Nginx correctly</a></li> </ul> <h3 id=default-backend><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/default_backend.go#L29>default-backend</a><a class=headerlink href=#default-backend title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/default_backend.go#L37>should use a custom default backend as upstream</a></li> </ul> <h3 id=disable-access-log-disable-http-access-log-disable-stream-access-log><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/disableaccesslog.go#L28>disable-access-log disable-http-access-log disable-stream-access-log</a><a class=headerlink href=#disable-access-log-disable-http-access-log-disable-stream-access-log title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/disableaccesslog.go#L35>disable-access-log set access_log off</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/disableaccesslog.go#L53>disable-http-access-log set access_log off</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/disableaccesslog.go#L71>disable-stream-access-log set access_log off</a></li> </ul> <h3 id=disable-proxy-intercept-errors><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/disableproxyintercepterrors.go#L31>disable-proxy-intercept-errors</a><a class=headerlink href=#disable-proxy-intercept-errors title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/disableproxyintercepterrors.go#L39>configures Nginx correctly</a></li> </ul> <h3 id=backend-protocol-fastcgi><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/fastcgi.go#L30>backend-protocol - FastCGI</a><a class=headerlink href=#backend-protocol-fastcgi title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/fastcgi.go#L37>should use fastcgi_pass in the configuration file</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/fastcgi.go#L54>should add fastcgi_index in the configuration file</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/fastcgi.go#L71>should add fastcgi_param in the configuration file</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/fastcgi.go#L102>should return OK for service with backend protocol FastCGI</a></li> </ul> <h3 id=force-ssl-redirect><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/forcesslredirect.go#L27>force-ssl-redirect</a><a class=headerlink href=#force-ssl-redirect title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/forcesslredirect.go#L34>should redirect to https</a></li> </ul> <h3 id=from-to-www-redirect><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/fromtowwwredirect.go#L31>from-to-www-redirect</a><a class=headerlink href=#from-to-www-redirect title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/fromtowwwredirect.go#L38>should redirect from www HTTP to HTTP</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/fromtowwwredirect.go#L64>should redirect from www HTTPS to HTTPS</a></li> </ul> <h3 id=backend-protocol-grpc><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/grpc.go#L45>backend-protocol - GRPC</a><a class=headerlink href=#backend-protocol-grpc title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/grpc.go#L48>should use grpc_pass in the configuration file</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/grpc.go#L71>should return OK for service with backend protocol GRPC</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/grpc.go#L132>authorization metadata should be overwritten by external auth response headers</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/grpc.go#L193>should return OK for service with backend protocol GRPCS</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/grpc.go#L260>should return OK when request not exceed timeout</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/grpc.go#L303>should return Error when request exceed timeout</a></li> </ul> <h3 id=http2-push-preload><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/http2pushpreload.go#L27>http2-push-preload</a><a class=headerlink href=#http2-push-preload title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/http2pushpreload.go#L34>enable the http2-push-preload directive</a></li> </ul> <h3 id=allowlist-source-range><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/ipallowlist.go#L27>allowlist-source-range</a><a class=headerlink href=#allowlist-source-range title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/ipallowlist.go#L34>should set valid ip allowlist range</a></li> </ul> <h3 id=denylist-source-range><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/ipdenylist.go#L28>denylist-source-range</a><a class=headerlink href=#denylist-source-range title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/ipdenylist.go#L35>only deny explicitly denied IPs, allow all others</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/ipdenylist.go#L86>only allow explicitly allowed IPs, deny all others</a></li> </ul> <h3 id=annotation-limit-connections><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/limitconnections.go#L31>Annotation - limit-connections</a><a class=headerlink href=#annotation-limit-connections title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/limitconnections.go#L38>should limit-connections</a></li> </ul> <h3 id=limit-rate><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/limitrate.go#L29>limit-rate</a><a class=headerlink href=#limit-rate title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/limitrate.go#L37>Check limit-rate annotation</a></li> </ul> <h3 id=enable-access-log-enable-rewrite-log><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/log.go#L27>enable-access-log enable-rewrite-log</a><a class=headerlink href=#enable-access-log-enable-rewrite-log title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/log.go#L34>set access_log off</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/log.go#L49>set rewrite_log on</a></li> </ul> <h3 id=mirror-><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/mirror.go#L28>mirror-*</a><a class=headerlink href=#mirror- title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/mirror.go#L36>should set mirror-target to http://localhost/mirror</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/mirror.go#L51>should set mirror-target to https://test.env.com/$request_uri</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/mirror.go#L67>should disable mirror-request-body</a></li> </ul> <h3 id=modsecurity-owasp><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/modsecurity/modsecurity.go#L39>modsecurity owasp</a><a class=headerlink href=#modsecurity-owasp title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/modsecurity/modsecurity.go#L46>should enable modsecurity</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/modsecurity/modsecurity.go#L64>should enable modsecurity with transaction ID and OWASP rules</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/modsecurity/modsecurity.go#L85>should disable modsecurity</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/modsecurity/modsecurity.go#L102>should enable modsecurity with snippet</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/modsecurity/modsecurity.go#L124>should enable modsecurity without using 'modsecurity on;'</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/modsecurity/modsecurity.go#L147>should disable modsecurity using 'modsecurity off;'</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/modsecurity/modsecurity.go#L169>should enable modsecurity with snippet and block requests</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/modsecurity/modsecurity.go#L202>should enable modsecurity globally and with modsecurity-snippet block requests</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/modsecurity/modsecurity.go#L235>should enable modsecurity when enable-owasp-modsecurity-crs is set to true</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/modsecurity/modsecurity.go#L269>should enable modsecurity through the config map</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/modsecurity/modsecurity.go#L309>should enable modsecurity through the config map but ignore snippet as disabled by admin</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/modsecurity/modsecurity.go#L354>should disable default modsecurity conf setting when modsecurity-snippet is specified</a></li> </ul> <h3 id=preserve-trailing-slash><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/preservetrailingslash.go#L27>preserve-trailing-slash</a><a class=headerlink href=#preserve-trailing-slash title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/preservetrailingslash.go#L34>should allow preservation of trailing slashes</a></li> </ul> <h3 id=proxy-><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/proxy.go#L30>proxy-*</a><a class=headerlink href=#proxy- title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/proxy.go#L38>should set proxy_redirect to off</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/proxy.go#L54>should set proxy_redirect to default</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/proxy.go#L70>should set proxy_redirect to hello.com goodbye.com</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/proxy.go#L87>should set proxy client-max-body-size to 8m</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/proxy.go#L102>should not set proxy client-max-body-size to incorrect value</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/proxy.go#L117>should set valid proxy timeouts</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/proxy.go#L138>should not set invalid proxy timeouts</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/proxy.go#L159>should turn on proxy-buffering</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/proxy.go#L184>should turn off proxy-request-buffering</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/proxy.go#L199>should build proxy next upstream</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/proxy.go#L220>should setup proxy cookies</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/proxy.go#L238>should change the default proxy HTTP version</a></li> </ul> <h3 id=proxy-ssl-><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/proxyssl.go#L32>proxy-ssl-*</a><a class=headerlink href=#proxy-ssl- title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/proxyssl.go#L39>should set valid proxy-ssl-secret</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/proxyssl.go#L66>should set valid proxy-ssl-secret, proxy-ssl-verify to on, proxy-ssl-verify-depth to 2, and proxy-ssl-server-name to on</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/proxyssl.go#L96>should set valid proxy-ssl-secret, proxy-ssl-ciphers to HIGH:!AES</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/proxyssl.go#L124>should set valid proxy-ssl-secret, proxy-ssl-protocols</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/proxyssl.go#L152>proxy-ssl-location-only flag should change the nginx config server part</a></li> </ul> <h3 id=permanent-redirect-permanent-redirect-code><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/redirect.go#L30>permanent-redirect permanent-redirect-code</a><a class=headerlink href=#permanent-redirect-permanent-redirect-code title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/redirect.go#L33>should respond with a standard redirect code</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/redirect.go#L61>should respond with a custom redirect code</a></li> </ul> <h3 id=relative-redirects><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/relativeredirects.go#L35>relative-redirects</a><a class=headerlink href=#relative-redirects title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/relativeredirects.go#L43>configures Nginx correctly</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/relativeredirects.go#L61>should respond with absolute URL in Location</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/relativeredirects.go#L85>should respond with relative URL in Location</a></li> </ul> <h3 id=rewrite-target-use-regex-enable-rewrite-log><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/rewrite.go#L32>rewrite-target use-regex enable-rewrite-log</a><a class=headerlink href=#rewrite-target-use-regex-enable-rewrite-log title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/rewrite.go#L39>should write rewrite logs</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/rewrite.go#L68>should use correct longest path match</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/rewrite.go#L113>should use ~* location modifier if regex annotation is present</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/rewrite.go#L160>should fail to use longest match for documented warning</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/rewrite.go#L192>should allow for custom rewrite parameters</a></li> </ul> <h3 id=satisfy><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/satisfy.go#L33>satisfy</a><a class=headerlink href=#satisfy title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/satisfy.go#L40>should configure satisfy directive correctly</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/satisfy.go#L82>should allow multiple auth with satisfy any</a></li> </ul> <h3 id=server-snippet><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/serversnippet.go#L28>server-snippet</a><a class=headerlink href=#server-snippet title="Permanent link"> ¶</a></h3> <h3 id=service-upstream><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/serviceupstream.go#L32>service-upstream</a><a class=headerlink href=#service-upstream title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/serviceupstream.go#L41>should use the Service Cluster IP and Port </a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/serviceupstream.go#L69>should use the Service Cluster IP and Port </a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/serviceupstream.go#L97>should not use the Service Cluster IP and Port</a></li> </ul> <h3 id=configuration-snippet><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/snippet.go#L28>configuration-snippet</a><a class=headerlink href=#configuration-snippet title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/snippet.go#L34>set snippet more_set_headers in all locations</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/snippet.go#L66>drops snippet more_set_header in all locations if disabled by admin</a></li> </ul> <h3 id=ssl-ciphers><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/sslciphers.go#L28>ssl-ciphers</a><a class=headerlink href=#ssl-ciphers title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/sslciphers.go#L35>should change ssl ciphers</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/sslciphers.go#L58>should keep ssl ciphers</a></li> </ul> <h3 id=stream-snippet><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/streamsnippet.go#L34>stream-snippet</a><a class=headerlink href=#stream-snippet title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/streamsnippet.go#L41>should add value of stream-snippet to nginx config</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/streamsnippet.go#L88>should add stream-snippet and drop annotations per admin config</a></li> </ul> <h3 id=upstream-hash-by-><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/upstreamhashby.go#L79>upstream-hash-by-*</a><a class=headerlink href=#upstream-hash-by- title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/upstreamhashby.go#L86>should connect to the same pod</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/upstreamhashby.go#L95>should connect to the same subset of pods</a></li> </ul> <h3 id=upstream-vhost><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/upstreamvhost.go#L27>upstream-vhost</a><a class=headerlink href=#upstream-vhost title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/upstreamvhost.go#L34>set host to upstreamvhost.bar.com</a></li> </ul> <h3 id=x-forwarded-prefix><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/xforwardedprefix.go#L28>x-forwarded-prefix</a><a class=headerlink href=#x-forwarded-prefix title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/xforwardedprefix.go#L35>should set the X-Forwarded-Prefix to the annotation value</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/annotations/xforwardedprefix.go#L57>should not add X-Forwarded-Prefix if the annotation value is empty</a></li> </ul> <h3 id=cgroups-cgroups><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/cgroups/cgroups.go#L32>[CGroups] cgroups</a><a class=headerlink href=#cgroups-cgroups title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/cgroups/cgroups.go#L40>detects cgroups version v1</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/cgroups/cgroups.go#L83>detect cgroups version v2</a></li> </ul> <h3 id=debug-cli><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/dbg/main.go#L29>Debug CLI</a><a class=headerlink href=#debug-cli title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/dbg/main.go#L37>should list the backend servers</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/dbg/main.go#L56>should get information for a specific backend server</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/dbg/main.go#L85>should produce valid JSON for /dbg general</a></li> </ul> <h3 id=default-backend-custom-service><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/defaultbackend/custom_default_backend.go#L33>[Default Backend] custom service</a><a class=headerlink href=#default-backend-custom-service title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/defaultbackend/custom_default_backend.go#L36>uses custom default backend that returns 200 as status code</a></li> </ul> <h3 id=default-backend_1><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/defaultbackend/default_backend.go#L30>[Default Backend]</a><a class=headerlink href=#default-backend_1 title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/defaultbackend/default_backend.go#L33>should return 404 sending requests when only a default backend is running</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/defaultbackend/default_backend.go#L88>enables access logging for default backend</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/defaultbackend/default_backend.go#L105>disables access logging for default backend</a></li> </ul> <h3 id=default-backend-ssl><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/defaultbackend/ssl.go#L26>[Default Backend] SSL</a><a class=headerlink href=#default-backend-ssl title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/defaultbackend/ssl.go#L29>should return a self generated SSL certificate</a></li> </ul> <h3 id=default-backend-change-default-settings><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/defaultbackend/with_hosts.go#L30>[Default Backend] change default settings</a><a class=headerlink href=#default-backend-change-default-settings title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/defaultbackend/with_hosts.go#L38>should apply the annotation to the default backend</a></li> </ul> <h3 id=disable-leader-routing-works-when-leader-election-was-disabled><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/disableleaderelection/disable_leader.go#L28>[Disable Leader] Routing works when leader election was disabled</a><a class=headerlink href=#disable-leader-routing-works-when-leader-election-was-disabled title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/disableleaderelection/disable_leader.go#L35>should create multiple ingress routings rules when leader election has disabled</a></li> </ul> <h3 id=endpointslices-long-service-name><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/endpointslices/longname.go#L29>[Endpointslices] long service name</a><a class=headerlink href=#endpointslices-long-service-name title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/endpointslices/longname.go#L38>should return 200 when service name has max allowed number of characters 63</a></li> </ul> <h3 id=topologyhints-topology-aware-routing><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/endpointslices/topology.go#L34>[TopologyHints] topology aware routing</a><a class=headerlink href=#topologyhints-topology-aware-routing title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/endpointslices/topology.go#L42>should return 200 when service has topology hints</a></li> </ul> <h3 id=shutdown-grace-period-shutdown><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/gracefulshutdown/grace_period.go#L32>[Shutdown] Grace period shutdown</a><a class=headerlink href=#shutdown-grace-period-shutdown title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/gracefulshutdown/grace_period.go#L35>/healthz should return status code 500 during shutdown grace period</a></li> </ul> <h3 id=shutdown-ingress-controller><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/gracefulshutdown/shutdown.go#L30>[Shutdown] ingress controller</a><a class=headerlink href=#shutdown-ingress-controller title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/gracefulshutdown/shutdown.go#L40>should shutdown in less than 60 seconds without pending connections</a></li> </ul> <h3 id=shutdown-graceful-shutdown-with-pending-request><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/gracefulshutdown/slow_requests.go#L25>[Shutdown] Graceful shutdown with pending request</a><a class=headerlink href=#shutdown-graceful-shutdown-with-pending-request title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/gracefulshutdown/slow_requests.go#L33>should let slow requests finish before shutting down</a></li> </ul> <h3 id=ingress-deepinspection><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/deep_inspection.go#L27>[Ingress] DeepInspection</a><a class=headerlink href=#ingress-deepinspection title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/deep_inspection.go#L34>should drop whole ingress if one path matches invalid regex</a></li> </ul> <h3 id=single-ingress-multiple-hosts><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/multiple_rules.go#L30>single ingress - multiple hosts</a><a class=headerlink href=#single-ingress-multiple-hosts title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/multiple_rules.go#L38>should set the correct $service_name NGINX variable</a></li> </ul> <h3 id=ingress-pathtype-exact><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/pathtype_exact.go#L30>[Ingress] [PathType] exact</a><a class=headerlink href=#ingress-pathtype-exact title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/pathtype_exact.go#L37>should choose exact location for /exact</a></li> </ul> <h3 id=ingress-pathtype-mix-exact-and-prefix-paths><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/pathtype_mixed.go#L30>[Ingress] [PathType] mix Exact and Prefix paths</a><a class=headerlink href=#ingress-pathtype-mix-exact-and-prefix-paths title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/pathtype_mixed.go#L39>should choose the correct location</a></li> </ul> <h3 id=ingress-pathtype-prefix-checks><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/pathtype_prefix.go#L28>[Ingress] [PathType] prefix checks</a><a class=headerlink href=#ingress-pathtype-prefix-checks title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/pathtype_prefix.go#L35>should return 404 when prefix /aaa does not match request /aaaccc</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/pathtype_prefix.go#L72>should test prefix path using simple regex pattern for /id/{int}</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/pathtype_prefix.go#L113>should test prefix path using regex pattern for /id/{int} ignoring non-digits characters at end of string</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/pathtype_prefix.go#L142>should test prefix path using fixed path size regex pattern /id/{int}{3}</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/pathtype_prefix.go#L177>should correctly route multi-segment path patterns</a></li> </ul> <h3 id=ingress-definition-without-host><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/without_host.go#L31>[Ingress] definition without host</a><a class=headerlink href=#ingress-definition-without-host title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/without_host.go#L34>should set ingress details variables for ingresses without a host</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ingress/without_host.go#L55>should set ingress details variables for ingresses with host without IngressRuleValue, only Backend</a></li> </ul> <h3 id=memory-leak-dynamic-certificates><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/leaks/lua_ssl.go#L35>[Memory Leak] Dynamic Certificates</a><a class=headerlink href=#memory-leak-dynamic-certificates title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/leaks/lua_ssl.go#L42>should not leak memory from ingress SSL certificates or configuration updates</a></li> </ul> <h3 id=load-balancer-load-balance><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/loadbalance/configmap.go#L30>[Load Balancer] load-balance</a><a class=headerlink href=#load-balancer-load-balance title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/loadbalance/configmap.go#L37>should apply the configmap load-balance setting</a></li> </ul> <h3 id=load-balancer-ewma><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/loadbalance/ewma.go#L31>[Load Balancer] EWMA</a><a class=headerlink href=#load-balancer-ewma title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/loadbalance/ewma.go#L43>does not fail requests</a></li> </ul> <h3 id=load-balancer-round-robin><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/loadbalance/round_robin.go#L31>[Load Balancer] round-robin</a><a class=headerlink href=#load-balancer-round-robin title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/loadbalance/round_robin.go#L39>should evenly distribute requests with round-robin (default algorithm)</a></li> </ul> <h3 id=lua-dynamic-certificates><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/lua/dynamic_certificates.go#L37>[Lua] dynamic certificates</a><a class=headerlink href=#lua-dynamic-certificates title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/lua/dynamic_certificates.go#L45>picks up the certificate when we add TLS spec to existing ingress</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/lua/dynamic_certificates.go#L70>picks up the previously missing secret for a given ingress without reloading</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/lua/dynamic_certificates.go#L145>supports requests with domain with trailing dot</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/lua/dynamic_certificates.go#L149>picks up the updated certificate without reloading</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/lua/dynamic_certificates.go#L185>falls back to using default certificate when secret gets deleted without reloading</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/lua/dynamic_certificates.go#L218>picks up a non-certificate only change</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/lua/dynamic_certificates.go#L233>removes HTTPS configuration when we delete TLS spec</a></li> </ul> <h3 id=lua-dynamic-configuration><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/lua/dynamic_configuration.go#L41>[Lua] dynamic configuration</a><a class=headerlink href=#lua-dynamic-configuration title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/lua/dynamic_configuration.go#L49>configures balancer Lua middleware correctly</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/lua/dynamic_configuration.go#L56>handles endpoints only changes</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/lua/dynamic_configuration.go#L81>handles endpoints only changes (down scaling of replicas)</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/lua/dynamic_configuration.go#L119>handles endpoints only changes consistently (down scaling of replicas vs. empty service)</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/lua/dynamic_configuration.go#L165>handles an annotation change</a></li> </ul> <h3 id=metrics-exported-prometheus-metrics><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/metrics/metrics.go#L36>[metrics] exported prometheus metrics</a><a class=headerlink href=#metrics-exported-prometheus-metrics title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/metrics/metrics.go#L51>exclude socket request metrics are absent</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/metrics/metrics.go#L73>exclude socket request metrics are present</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/metrics/metrics.go#L95>request metrics per undefined host are present when flag is set</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/metrics/metrics.go#L128>request metrics per undefined host are not present when flag is not set</a></li> </ul> <h3 id=nginx-configuration><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/nginx/nginx.go#L99>nginx-configuration</a><a class=headerlink href=#nginx-configuration title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/nginx/nginx.go#L102>start nginx with default configuration</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/nginx/nginx.go#L114>fails when using alias directive</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/nginx/nginx.go#L121>fails when using root directive</a></li> </ul> <h3 id=security-request-smuggling><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/security/request_smuggling.go#L32>[Security] request smuggling</a><a class=headerlink href=#security-request-smuggling title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/security/request_smuggling.go#L39>should not return body content from error_page</a></li> </ul> <h3 id=service-backend-status-code-503><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/servicebackend/service_backend.go#L34>[Service] backend status code 503</a><a class=headerlink href=#service-backend-status-code-503 title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/servicebackend/service_backend.go#L37>should return 503 when backend service does not exist</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/servicebackend/service_backend.go#L55>should return 503 when all backend service endpoints are unavailable</a></li> </ul> <h3 id=service-type-externalname><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/servicebackend/service_externalname.go#L38>[Service] Type ExternalName</a><a class=headerlink href=#service-type-externalname title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/servicebackend/service_externalname.go#L41>works with external name set to incomplete fqdn</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/servicebackend/service_externalname.go#L78>should return 200 for service type=ExternalName without a port defined</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/servicebackend/service_externalname.go#L118>should return 200 for service type=ExternalName with a port defined</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/servicebackend/service_externalname.go#L148>should return status 502 for service type=ExternalName with an invalid host</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/servicebackend/service_externalname.go#L184>should return 200 for service type=ExternalName using a port name</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/servicebackend/service_externalname.go#L225>should return 200 for service type=ExternalName using FQDN with trailing dot</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/servicebackend/service_externalname.go#L261>should update the external name after a service update</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/servicebackend/service_externalname.go#L344>should sync ingress on external name service addition/deletion</a></li> </ul> <h3 id=service-nil-service-backend><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/servicebackend/service_nil_backend.go#L31>[Service] Nil Service Backend</a><a class=headerlink href=#service-nil-service-backend title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/servicebackend/service_nil_backend.go#L38>should return 404 when backend service is nil</a></li> </ul> <h3 id=access-log><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/access_log.go#L27>access-log</a><a class=headerlink href=#access-log title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/access_log.go#L31>use the default configuration</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/access_log.go#L41>use the specified configuration</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/access_log.go#L52>use the specified configuration</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/access_log.go#L64>use the specified configuration</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/access_log.go#L76>use the specified configuration</a></li> </ul> <h3 id=aio-write><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/aio_write.go#L27>aio-write</a><a class=headerlink href=#aio-write title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/aio_write.go#L30>should be enabled by default</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/aio_write.go#L37>should be enabled when setting is true</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/aio_write.go#L46>should be disabled when setting is false</a></li> </ul> <h3 id=bad-annotation-values><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/badannotationvalues.go#L29>Bad annotation values</a><a class=headerlink href=#bad-annotation-values title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/badannotationvalues.go#L36>[BAD_ANNOTATIONS] should drop an ingress if there is an invalid character in some annotation</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/badannotationvalues.go#L68>[BAD_ANNOTATIONS] should drop an ingress if there is a forbidden word in some annotation</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/badannotationvalues.go#L105>[BAD_ANNOTATIONS] should allow an ingress if there is a default blocklist config in place</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/badannotationvalues.go#L138>[BAD_ANNOTATIONS] should drop an ingress if there is a custom blocklist config in place and allow others to pass</a></li> </ul> <h3 id=brotli><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/brotli.go#L30>brotli</a><a class=headerlink href=#brotli title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/brotli.go#L38>should only compress responses that meet the <code>brotli-min-length</code> condition</a></li> </ul> <h3 id=configmap-change><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/configmap_change.go#L29>Configmap change</a><a class=headerlink href=#configmap-change title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/configmap_change.go#L36>should reload after an update in the configuration</a></li> </ul> <h3 id=add-headers><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/custom_header.go#L30>add-headers</a><a class=headerlink href=#add-headers title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/custom_header.go#L40>Add a custom header</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/custom_header.go#L65>Add multiple custom headers</a></li> </ul> <h3 id=ssl-flag-default-ssl-certificate><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/default_ssl_certificate.go#L35>[SSL] [Flag] default-ssl-certificate</a><a class=headerlink href=#ssl-flag-default-ssl-certificate title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/default_ssl_certificate.go#L66>uses default ssl certificate for catch-all ingress</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/default_ssl_certificate.go#L82>uses default ssl certificate for host based ingress when configured certificate does not match host</a></li> </ul> <h3 id=flag-disable-catch-all><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/disable_catch_all.go#L33>[Flag] disable-catch-all</a><a class=headerlink href=#flag-disable-catch-all title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/disable_catch_all.go#L50>should ignore catch all Ingress with backend</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/disable_catch_all.go#L69>should ignore catch all Ingress with backend and rules</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/disable_catch_all.go#L81>should delete Ingress updated to catch-all</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/disable_catch_all.go#L123>should allow Ingress with rules</a></li> </ul> <h3 id=flag-disable-service-external-name><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/disable_service_external_name.go#L35>[Flag] disable-service-external-name</a><a class=headerlink href=#flag-disable-service-external-name title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/disable_service_external_name.go#L55>should ignore services of external-name type</a></li> </ul> <h3 id=flag-disable-sync-events><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/disable_sync_events.go#L32>[Flag] disable-sync-events</a><a class=headerlink href=#flag-disable-sync-events title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/disable_sync_events.go#L35>should create sync events (default)</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/disable_sync_events.go#L55>should create sync events</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/disable_sync_events.go#L83>should not create sync events</a></li> </ul> <h3 id=enable-real-ip><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/enable_real_ip.go#L30>enable-real-ip</a><a class=headerlink href=#enable-real-ip title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/enable_real_ip.go#L40>trusts X-Forwarded-For header only when setting is true</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/enable_real_ip.go#L79>should not trust X-Forwarded-For header when setting is false</a></li> </ul> <h3 id=use-forwarded-headers><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/forwarded_headers.go#L31>use-forwarded-headers</a><a class=headerlink href=#use-forwarded-headers title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/forwarded_headers.go#L41>should trust X-Forwarded headers when setting is true</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/forwarded_headers.go#L93>should not trust X-Forwarded headers when setting is false</a></li> </ul> <h3 id=geoip2><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/geoip2.go#L36>Geoip2</a><a class=headerlink href=#geoip2 title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/geoip2.go#L45>should include geoip2 line in config when enabled and db file exists</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/geoip2.go#L69>should only allow requests from specific countries</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/geoip2.go#L122>should up and running nginx controller using autoreload flag</a></li> </ul> <h3 id=security-block-><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/global_access_block.go#L28>[Security] block-*</a><a class=headerlink href=#security-block- title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/global_access_block.go#L38>should block CIDRs defined in the ConfigMap</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/global_access_block.go#L55>should block User-Agents defined in the ConfigMap</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/global_access_block.go#L88>should block Referers defined in the ConfigMap</a></li> </ul> <h3 id=security-global-auth-url><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/global_external_auth.go#L39>[Security] global-auth-url</a><a class=headerlink href=#security-global-auth-url title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/global_external_auth.go#L91>should return status code 401 when request any protected service</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/global_external_auth.go#L107>should return status code 200 when request whitelisted (via no-auth-locations) service and 401 when request protected service</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/global_external_auth.go#L130>should return status code 200 when request whitelisted (via ingress annotation) service and 401 when request protected service</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/global_external_auth.go#L158>should still return status code 200 after auth backend is deleted using cache</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/global_external_auth.go#L322>user retains cookie by default</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/global_external_auth.go#L333>user does not retain cookie if upstream returns error status code</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/global_external_auth.go#L344>user with global-auth-always-set-cookie key in configmap retains cookie if upstream returns error status code</a></li> </ul> <h3 id=global-options><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/global_options.go#L28>global-options</a><a class=headerlink href=#global-options title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/global_options.go#L31>should have worker_rlimit_nofile option</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/global_options.go#L37>should have worker_rlimit_nofile option and be independent on amount of worker processes</a></li> </ul> <h3 id=grpc><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/grpc.go#L39>GRPC</a><a class=headerlink href=#grpc title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/grpc.go#L42>should set the correct GRPC Buffer Size</a></li> </ul> <h3 id=gzip><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/gzip.go#L30>gzip</a><a class=headerlink href=#gzip title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/gzip.go#L40>should be disabled by default</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/gzip.go#L56>should be enabled with default settings</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/gzip.go#L82>should set gzip_comp_level to 4</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/gzip.go#L102>should set gzip_disable to msie6</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/gzip.go#L132>should set gzip_min_length to 100</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/gzip.go#L164>should set gzip_types to text/html</a></li> </ul> <h3 id=hash-size><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/hash-size.go#L27>hash size</a><a class=headerlink href=#hash-size title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/hash-size.go#L39>should set server_names_hash_bucket_size</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/hash-size.go#L47>should set server_names_hash_max_size</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/hash-size.go#L57>should set proxy-headers-hash-bucket-size</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/hash-size.go#L65>should set proxy-headers-hash-max-size</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/hash-size.go#L75>should set variables-hash-bucket-size</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/hash-size.go#L83>should set variables-hash-max-size</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/hash-size.go#L93>should set vmap-hash-bucket-size</a></li> </ul> <h3 id=flag-ingress-class><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/ingress_class.go#L41>[Flag] ingress-class</a><a class=headerlink href=#flag-ingress-class title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/ingress_class.go#L70>should ignore Ingress with a different class annotation</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/ingress_class.go#L106>should ignore Ingress with different controller class</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/ingress_class.go#L134>should accept both Ingresses with default IngressClassName and IngressClass annotation</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/ingress_class.go#L166>should ignore Ingress without IngressClass configuration</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/ingress_class.go#L194>should delete Ingress when class is removed</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/ingress_class.go#L259>should serve Ingress when class is added</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/ingress_class.go#L325>should serve Ingress when class is updated between annotation and ingressClassName</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/ingress_class.go#L414>should ignore Ingress with no class and accept the correctly configured Ingresses</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/ingress_class.go#L482>should watch Ingress with no class and ignore ingress with a different class</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/ingress_class.go#L538>should watch Ingress that uses the class name even if spec is different</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/ingress_class.go#L628>should watch Ingress with correct annotation</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/ingress_class.go#L648>should ignore Ingress with only IngressClassName</a></li> </ul> <h3 id=keep-alive-keep-alive-requests><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/keep-alive.go#L28>keep-alive keep-alive-requests</a><a class=headerlink href=#keep-alive-keep-alive-requests title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/keep-alive.go#L40>should set keepalive_timeout</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/keep-alive.go#L48>should set keepalive_requests</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/keep-alive.go#L58>should set keepalive connection to upstream server</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/keep-alive.go#L68>should set keep alive connection timeout to upstream server</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/keep-alive.go#L78>should set keepalive time to upstream server</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/keep-alive.go#L88>should set the request count to upstream server through one keep alive connection</a></li> </ul> <h3 id=configmap-limit-rate><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/limit_rate.go#L28>Configmap - limit-rate</a><a class=headerlink href=#configmap-limit-rate title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/limit_rate.go#L36>Check limit-rate config</a></li> </ul> <h3 id=flag-custom-http-and-https-ports><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/listen_nondefault_ports.go#L30>[Flag] custom HTTP and HTTPS ports</a><a class=headerlink href=#flag-custom-http-and-https-ports title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/listen_nondefault_ports.go#L45>should set X-Forwarded-Port headers accordingly when listening on a non-default HTTP port</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/listen_nondefault_ports.go#L65>should set X-Forwarded-Port header to 443</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/listen_nondefault_ports.go#L93>should set the X-Forwarded-Port header to 443</a></li> </ul> <h3 id=log-format-><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/log-format.go#L28>log-format-*</a><a class=headerlink href=#log-format- title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/log-format.go#L39>should not configure log-format escape by default</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/log-format.go#L46>should enable the log-format-escape-json</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/log-format.go#L54>should disable the log-format-escape-json</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/log-format.go#L62>should enable the log-format-escape-none</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/log-format.go#L70>should disable the log-format-escape-none</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/log-format.go#L80>log-format-escape-json enabled</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/log-format.go#L103>log-format default escape</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/log-format.go#L126>log-format-escape-none enabled</a></li> </ul> <h3 id=lua-lua-shared-dicts><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/lua_shared_dicts.go#L26>[Lua] lua-shared-dicts</a><a class=headerlink href=#lua-lua-shared-dicts title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/lua_shared_dicts.go#L29>configures lua shared dicts</a></li> </ul> <h3 id=main-snippet><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/main_snippet.go#L27>main-snippet</a><a class=headerlink href=#main-snippet title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/main_snippet.go#L31>should add value of main-snippet setting to nginx config</a></li> </ul> <h3 id=security-modsecurity-snippet><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/modsecurity/modsecurity_snippet.go#L27>[Security] modsecurity-snippet</a><a class=headerlink href=#security-modsecurity-snippet title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/modsecurity/modsecurity_snippet.go#L30>should add value of modsecurity-snippet setting to nginx config</a></li> </ul> <h3 id=enable-multi-accept><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/multi_accept.go#L27>enable-multi-accept</a><a class=headerlink href=#enable-multi-accept title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/multi_accept.go#L31>should be enabled by default</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/multi_accept.go#L39>should be enabled when set to true</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/multi_accept.go#L49>should be disabled when set to false</a></li> </ul> <h3 id=flag-watch-namespace-selector><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/namespace_selector.go#L30>[Flag] watch namespace selector</a><a class=headerlink href=#flag-watch-namespace-selector title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/namespace_selector.go#L62>should ignore Ingress of namespace without label foo=bar and accept those of namespace with label foo=bar</a></li> </ul> <h3 id=security-no-auth-locations><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/no_auth_locations.go#L33>[Security] no-auth-locations</a><a class=headerlink href=#security-no-auth-locations title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/no_auth_locations.go#L54>should return status code 401 when accessing '/' unauthentication</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/no_auth_locations.go#L68>should return status code 200 when accessing '/' authentication</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/no_auth_locations.go#L82>should return status code 200 when accessing '/noauth' unauthenticated</a></li> </ul> <h3 id=add-no-tls-redirect-locations><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/no_tls_redirect_locations.go#L27>Add no tls redirect locations</a><a class=headerlink href=#add-no-tls-redirect-locations title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/no_tls_redirect_locations.go#L30>Check no tls redirect locations config</a></li> </ul> <h3 id=ocsp><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/ocsp/ocsp.go#L43>OCSP</a><a class=headerlink href=#ocsp title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/ocsp/ocsp.go#L50>should enable OCSP and contain stapling information in the connection</a></li> </ul> <h3 id=configure-opentelemetry><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentelemetry.go#L39>Configure Opentelemetry</a><a class=headerlink href=#configure-opentelemetry title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentelemetry.go#L49>should not exists opentelemetry directive</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentelemetry.go#L62>should exists opentelemetry directive when is enabled</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentelemetry.go#L76>should include opentelemetry_trust_incoming_spans on directive when enabled</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentelemetry.go#L91>should not exists opentelemetry_operation_name directive when is empty</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/opentelemetry.go#L106>should exists opentelemetry_operation_name directive when is configured</a></li> </ul> <h3 id=proxy-connect-timeout><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/proxy_connect_timeout.go#L29>proxy-connect-timeout</a><a class=headerlink href=#proxy-connect-timeout title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/proxy_connect_timeout.go#L37>should set valid proxy timeouts using configmap values</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/proxy_connect_timeout.go#L53>should not set invalid proxy timeouts using configmap values</a></li> </ul> <h3 id=dynamic-proxy_host><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/proxy_host.go#L28>Dynamic $proxy_host</a><a class=headerlink href=#dynamic-proxy_host title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/proxy_host.go#L36>should exist a proxy_host</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/proxy_host.go#L60>should exist a proxy_host using the upstream-vhost annotation value</a></li> </ul> <h3 id=proxy-next-upstream><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/proxy_next_upstream.go#L28>proxy-next-upstream</a><a class=headerlink href=#proxy-next-upstream title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/proxy_next_upstream.go#L36>should build proxy next upstream using configmap values</a></li> </ul> <h3 id=use-proxy-protocol><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/proxy_protocol.go#L38>use-proxy-protocol</a><a class=headerlink href=#use-proxy-protocol title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/proxy_protocol.go#L48>should respect port passed by the PROXY Protocol</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/proxy_protocol.go#L85>should respect proto passed by the PROXY Protocol server port</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/proxy_protocol.go#L121>should enable PROXY Protocol for HTTPS</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/proxy_protocol.go#L164>should enable PROXY Protocol for TCP</a></li> </ul> <h3 id=proxy-read-timeout><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/proxy_read_timeout.go#L29>proxy-read-timeout</a><a class=headerlink href=#proxy-read-timeout title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/proxy_read_timeout.go#L37>should set valid proxy read timeouts using configmap values</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/proxy_read_timeout.go#L53>should not set invalid proxy read timeouts using configmap values</a></li> </ul> <h3 id=proxy-send-timeout><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/proxy_send_timeout.go#L29>proxy-send-timeout</a><a class=headerlink href=#proxy-send-timeout title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/proxy_send_timeout.go#L37>should set valid proxy send timeouts using configmap values</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/proxy_send_timeout.go#L53>should not set invalid proxy send timeouts using configmap values</a></li> </ul> <h3 id=reuse-port><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/reuse-port.go#L27>reuse-port</a><a class=headerlink href=#reuse-port title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/reuse-port.go#L38>reuse port should be enabled by default</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/reuse-port.go#L44>reuse port should be disabled</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/reuse-port.go#L52>reuse port should be enabled</a></li> </ul> <h3 id=configmap-server-snippet><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/server_snippet.go#L28>configmap server-snippet</a><a class=headerlink href=#configmap-server-snippet title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/server_snippet.go#L35>should add value of server-snippet setting to all ingress config</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/server_snippet.go#L100>should add global server-snippet and drop annotations per admin config</a></li> </ul> <h3 id=server-tokens><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/server_tokens.go#L29>server-tokens</a><a class=headerlink href=#server-tokens title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/server_tokens.go#L38>should not exists Server header in the response</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/server_tokens.go#L50>should exists Server header in the response when is enabled</a></li> </ul> <h3 id=ssl-ciphers_1><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/ssl_ciphers.go#L28>ssl-ciphers</a><a class=headerlink href=#ssl-ciphers_1 title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/ssl_ciphers.go#L31>Add ssl ciphers</a></li> </ul> <h3 id=flag-enable-ssl-passthrough><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/ssl_passthrough.go#L36>[Flag] enable-ssl-passthrough</a><a class=headerlink href=#flag-enable-ssl-passthrough title="Permanent link"> ¶</a></h3> <h3 id=with-enable-ssl-passthrough-enabled><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/ssl_passthrough.go#L55>With enable-ssl-passthrough enabled</a><a class=headerlink href=#with-enable-ssl-passthrough-enabled title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/ssl_passthrough.go#L56>should enable ssl-passthrough-proxy-port on a different port</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/ssl_passthrough.go#L78>should pass unknown traffic to default backend and handle known traffic</a></li> </ul> <h3 id=configmap-stream-snippet><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/stream_snippet.go#L35>configmap stream-snippet</a><a class=headerlink href=#configmap-stream-snippet title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/stream_snippet.go#L42>should add value of stream-snippet via config map to nginx config</a></li> </ul> <h3 id=ssl-tls-protocols-ciphers-and-headers><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/tls.go#L32>[SSL] TLS protocols, ciphers and headers</a><a class=headerlink href=#ssl-tls-protocols-ciphers-and-headers title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/tls.go#L66>setting cipher suite</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/tls.go#L110>setting max-age parameter</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/tls.go#L127>setting includeSubDomains parameter</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/tls.go#L147>setting preload parameter</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/tls.go#L168>overriding what's set from the upstream</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/tls.go#L190>should not use ports during the HTTP to HTTPS redirection</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/tls.go#L208>should not use ports or X-Forwarded-Host during the HTTP to HTTPS redirection</a></li> </ul> <h3 id=annotation-validations><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/validations/validations.go#L30>annotation validations</a><a class=headerlink href=#annotation-validations title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/validations/validations.go#L33>should allow ingress based on their risk on webhooks</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/settings/validations/validations.go#L68>should allow ingress based on their risk on webhooks</a></li> </ul> <h3 id=ssl-redirect-to-https><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ssl/http_redirect.go#L29>[SSL] redirect to HTTPS</a><a class=headerlink href=#ssl-redirect-to-https title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ssl/http_redirect.go#L36>should redirect from HTTP to HTTPS when secret is missing</a></li> </ul> <h3 id=ssl-secret-update><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ssl/secret_update.go#L33>[SSL] secret update</a><a class=headerlink href=#ssl-secret-update title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ssl/secret_update.go#L40>should not appear references to secret updates not used in ingress rules</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/ssl/secret_update.go#L83>should return the fake SSL certificate if the secret is invalid</a></li> </ul> <h3 id=status-status-update><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/status/update.go#L38>[Status] status update</a><a class=headerlink href=#status-status-update title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/status/update.go#L43>should update status field after client-go reconnection</a></li> </ul> <h3 id=tcp-tcp-services><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/tcpudp/tcp.go#L38>[TCP] tcp-services</a><a class=headerlink href=#tcp-tcp-services title="Permanent link"> ¶</a></h3> <ul> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/tcpudp/tcp.go#L46>should expose a TCP service</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/tcpudp/tcp.go#L80>should expose an ExternalName TCP service</a></li> <li><a href=https://github.com/kubernetes/ingress-nginx/tree/main//test/e2e/tcpudp/tcp.go#L169>should reload after an update in the configuration</a></li> </ul> </article> </div> </div> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "..", "features": ["navigation.tabs", "navigation.tabs.sticky", "navigation.instant", "navigation.sections"], "search": "../assets/javascripts/workers/search.f886a092.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../assets/javascripts/bundle.aecac24b.min.js></script> </body> </html> |