{"config":{"lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"Overview \u00b6 This is the documentation for the Ingress NGINX Controller. It is built around the Kubernetes Ingress resource , using a ConfigMap to store the controller configuration. You can learn more about using Ingress in the official Kubernetes documentation . Getting Started \u00b6 See Deployment for a whirlwind tour that will get you started. FAQ - Kubernetes 1.22 Migration \u00b6 If you are using Ingress objects in your cluster (running Kubernetes older than v1.22), and you plan to upgrade to Kubernetes v1.22, please read the migration guide here .","title":"Welcome"},{"location":"#overview","text":"This is the documentation for the Ingress NGINX Controller. It is built around the Kubernetes Ingress resource , using a ConfigMap to store the controller configuration. You can learn more about using Ingress in the official Kubernetes documentation .","title":"Overview"},{"location":"#getting-started","text":"See Deployment for a whirlwind tour that will get you started.","title":"Getting Started"},{"location":"#faq-kubernetes-122-migration","text":"If you are using Ingress objects in your cluster (running Kubernetes older than v1.22), and you plan to upgrade to Kubernetes v1.22, please read the migration guide here .","title":"FAQ - Kubernetes 1.22 Migration"},{"location":"e2e-tests/","text":"e2etestsuiteforIngressNGINXController\u00b6Geoip2\u00b6shouldincludegeoip2lineinconfigwhenenabledanddbfileexistsshouldonlyallowrequestsfromspecificcountries[Security]global-auth-url\u00b6shouldreturnstatuscode401whenrequestanyprotectedserviceshouldreturnstatuscode200whenrequestwhitelisted(viano-auth-locations)serviceand401whenrequestprotectedserviceshouldreturnstatuscode200whenrequestwhitelisted(viaingressannotation)serviceand401whenrequestprotectedserviceshouldstillreturnstatuscode200afterauthbackendisdeletedusingcacheshouldproxy_methodmethodwhenglobal-auth-methodisconfiguredshouldaddcustomerrorpagewhenglobal-auth-signinurlisconfiguredshouldaddauthheaderswhenglobal-auth-response-headersisconfiguredshouldsetrequest-redirectwhenglobal-auth-request-redirectisconfiguredshouldsetsnippetwhenglobalexternalauthisconfigureduserretainscookiebydefaultuserdoesnotretaincookieifupstreamreturnserrorstatuscodeuserwithglobal-auth-always-set-cookiekeyinconfigmapretainscookieifupstreamreturnserrorstatuscode[Security]PodSecurityPolicies\u00b6shouldberunningwithaPodSecurityPolicylog-format-*\u00b6shoulddisablethelog-format-escape-jsonbydefaultshouldenablethelog-format-escape-jsonshoulddisablethelog-format-escape-jsonlog-format-escape-jsonenabledlog-format-escape-jsondisabledserver-tokens\u00b6shouldnotexistsServerheaderintheresponseshouldexistsServerheaderintheresponsewhenisenabledproxy-connect-timeout\u00b6shouldsetvalidproxytimeoutsusingconfigmapvaluesshouldnotsetinvalidproxytimeoutsusingconfigmapvaluesssl-ciphers\u00b6Addsslciphersuse-proxy-protocol\u00b6shouldrespectportpassedbythePROXYProtocolshouldrespectprotopassedbythePROXYProtocolserverportshouldenablePROXYProtocolforHTTPSshouldenablePROXYProtocolforTCPplugins\u00b6shouldexistax-hello-worldheaderconfigmapserver-snippet\u00b6shouldaddvalueofserver-snippetsettingtoallingressconfigshouldaddglobalserver-snippetanddropannotationsperadminconfig[Flag]disable-catch-all\u00b6shouldignorecatchallIngresswithbackendshouldignorecatchallIngresswithbackendandrulesshoulddeleteIngressupdatedtocatch-allshouldallowIngresswithrulesenable-real-ip\u00b6trustsX-Forwarded-ForheaderonlywhensettingistrueshouldnottrustX-Forwarded-Forheaderwhensettingisfalsekeep-alivekeep-alive-requests\u00b6shouldsetkeepalive_timeoutshouldsetkeepalive_req