3366 lines
No EOL
120 KiB
HTML
3366 lines
No EOL
120 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">
|
||
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||
|
||
|
||
|
||
|
||
<meta name="lang:clipboard.copy" content="Copy to clipboard">
|
||
|
||
<meta name="lang:clipboard.copied" content="Copied to clipboard">
|
||
|
||
<meta name="lang:search.language" content="en">
|
||
|
||
<meta name="lang:search.pipeline.stopwords" content="True">
|
||
|
||
<meta name="lang:search.pipeline.trimmer" content="True">
|
||
|
||
<meta name="lang:search.result.none" content="No matching documents">
|
||
|
||
<meta name="lang:search.result.one" content="1 matching document">
|
||
|
||
<meta name="lang:search.result.other" content="# matching documents">
|
||
|
||
<meta name="lang:search.tokenizer" content="[\s\-]+">
|
||
|
||
<link rel="shortcut icon" href="../../../assets/images/favicon.png">
|
||
<meta name="generator" content="mkdocs-1.0.4, mkdocs-material-4.4.1">
|
||
|
||
|
||
|
||
<title>ConfigMap - NGINX Ingress Controller</title>
|
||
|
||
|
||
|
||
<link rel="stylesheet" href="../../../assets/stylesheets/application.30686662.css">
|
||
|
||
<link rel="stylesheet" href="../../../assets/stylesheets/application-palette.a8b3c06d.css">
|
||
|
||
|
||
|
||
|
||
<meta name="theme-color" content="#009688">
|
||
|
||
|
||
|
||
<script src="../../../assets/javascripts/modernizr.74668098.js"></script>
|
||
|
||
|
||
|
||
<link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
|
||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback">
|
||
<style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
|
||
|
||
|
||
<link rel="stylesheet" href="../../../assets/fonts/material-icons.css">
|
||
|
||
|
||
<link rel="stylesheet" href="../../../extra.css">
|
||
|
||
|
||
|
||
|
||
<script>
|
||
window.ga = window.ga || function() {
|
||
(ga.q = ga.q || []).push(arguments)
|
||
}
|
||
ga.l = +new Date
|
||
/* Setup integration and send page view */
|
||
ga("create", "UA-118407822-1", "kubernetes.github.io")
|
||
ga("set", "anonymizeIp", true)
|
||
ga("send", "pageview")
|
||
/* Register handler to log search on blur */
|
||
document.addEventListener("DOMContentLoaded", () => {
|
||
if (document.forms.search) {
|
||
var query = document.forms.search.query
|
||
query.addEventListener("blur", function() {
|
||
if (this.value) {
|
||
var path = document.location.pathname;
|
||
ga("send", "pageview", path + "?q=" + this.value)
|
||
}
|
||
})
|
||
}
|
||
})
|
||
</script>
|
||
<script async src="https://www.google-analytics.com/analytics.js"></script>
|
||
|
||
|
||
|
||
</head>
|
||
|
||
|
||
|
||
<body dir="ltr" data-md-color-primary="teal" data-md-color-accent="green">
|
||
|
||
<svg class="md-svg">
|
||
<defs>
|
||
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" width="416" height="448" viewBox="0 0 416 448" id="__github"><path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19T128 352t-18.125-8.5-10.75-19T96 304t3.125-20.5 10.75-19T128 256t18.125 8.5 10.75 19T160 304zm160 0q0 10-3.125 20.5t-10.75 19T288 352t-18.125-8.5-10.75-19T256 304t3.125-20.5 10.75-19T288 256t18.125 8.5 10.75 19T320 304zm40 0q0-30-17.25-51T296 232q-10.25 0-48.75 5.25Q229.5 240 208 240t-39.25-2.75Q130.75 232 120 232q-29.5 0-46.75 21T56 304q0 22 8 38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0 37.25-1.75t35-7.375 30.5-15 20.25-25.75T360 304zm56-44q0 51.75-15.25 82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5T212 416q-19.5 0-35.5-.75t-36.875-3.125-38.125-7.5-34.25-12.875T37 371.5t-21.5-28.75Q0 312 0 260q0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25 30.875Q171.5 96 212 96q37 0 70 8 26.25-20.5 46.75-30.25T376 64q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34 99.5z"/></svg>
|
||
|
||
</defs>
|
||
</svg>
|
||
<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" data-md-component="overlay" for="__drawer"></label>
|
||
|
||
<a href="#configmaps" tabindex="1" class="md-skip">
|
||
Skip to content
|
||
</a>
|
||
|
||
|
||
<header class="md-header" data-md-component="header">
|
||
<nav class="md-header-nav md-grid">
|
||
<div class="md-flex">
|
||
<div class="md-flex__cell md-flex__cell--shrink">
|
||
<a href="../../.." title="NGINX Ingress Controller" class="md-header-nav__button md-logo">
|
||
|
||
<i class="md-icon">public</i>
|
||
|
||
</a>
|
||
</div>
|
||
<div class="md-flex__cell md-flex__cell--shrink">
|
||
<label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label>
|
||
</div>
|
||
<div class="md-flex__cell md-flex__cell--stretch">
|
||
<div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
|
||
|
||
<span class="md-header-nav__topic">
|
||
NGINX Ingress Controller
|
||
</span>
|
||
<span class="md-header-nav__topic">
|
||
|
||
ConfigMap
|
||
|
||
</span>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="md-flex__cell md-flex__cell--shrink">
|
||
|
||
<label class="md-icon md-icon--search md-header-nav__button" for="__search"></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" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
|
||
<label class="md-icon md-search__icon" for="__search"></label>
|
||
<button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
|
||

|
||
</button>
|
||
</form>
|
||
<div class="md-search__output">
|
||
<div class="md-search__scrollwrap" data-md-scrollfix>
|
||
<div class="md-search-result" data-md-component="result">
|
||
<div class="md-search-result__meta">
|
||
Type to start searching
|
||
</div>
|
||
<ol class="md-search-result__list"></ol>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="md-flex__cell md-flex__cell--shrink">
|
||
<div class="md-header-nav__source">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="https://github.com/kubernetes/ingress-nginx/" title="Go to repository" class="md-source" data-md-source="github">
|
||
|
||
<div class="md-source__icon">
|
||
<svg viewBox="0 0 24 24" width="24" height="24">
|
||
<use xlink:href="#__github" width="24" height="24"></use>
|
||
</svg>
|
||
</div>
|
||
|
||
<div class="md-source__repository">
|
||
kubernetes/ingress-nginx
|
||
</div>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</nav>
|
||
</header>
|
||
|
||
<div class="md-container">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<nav class="md-tabs md-tabs--active" data-md-component="tabs">
|
||
<div class="md-tabs__inner md-grid">
|
||
<ul class="md-tabs__list">
|
||
|
||
|
||
|
||
|
||
<li class="md-tabs__item">
|
||
|
||
<a href="../../.." title="Welcome" class="md-tabs__link">
|
||
Welcome
|
||
</a>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-tabs__item">
|
||
|
||
<a href="../../../deploy/" title="Deployment" class="md-tabs__link">
|
||
Deployment
|
||
</a>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-tabs__item">
|
||
|
||
<a href="../" title="User guide" class="md-tabs__link md-tabs__link--active">
|
||
User guide
|
||
</a>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-tabs__item">
|
||
|
||
<a href="../../../examples/" title="Examples" class="md-tabs__link">
|
||
Examples
|
||
</a>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
</ul>
|
||
</div>
|
||
</nav>
|
||
|
||
<main class="md-main">
|
||
<div class="md-main__inner md-grid" data-md-component="container">
|
||
|
||
|
||
<div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
|
||
<div class="md-sidebar__scrollwrap">
|
||
<div class="md-sidebar__inner">
|
||
<nav class="md-nav md-nav--primary" data-md-level="0">
|
||
<label class="md-nav__title md-nav__title--site" for="__drawer">
|
||
<a href="../../.." title="NGINX Ingress Controller" class="md-nav__button md-logo">
|
||
|
||
<i class="md-icon">public</i>
|
||
|
||
</a>
|
||
NGINX Ingress Controller
|
||
</label>
|
||
|
||
<div class="md-nav__source">
|
||
|
||
|
||
|
||
|
||
|
||
<a href="https://github.com/kubernetes/ingress-nginx/" title="Go to repository" class="md-source" data-md-source="github">
|
||
|
||
<div class="md-source__icon">
|
||
<svg viewBox="0 0 24 24" width="24" height="24">
|
||
<use xlink:href="#__github" width="24" height="24"></use>
|
||
</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--nested">
|
||
|
||
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-1" type="checkbox" id="nav-1">
|
||
|
||
<label class="md-nav__link" for="nav-1">
|
||
Welcome
|
||
</label>
|
||
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
|
||
<label class="md-nav__title" for="nav-1">
|
||
Welcome
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../.." title="Welcome" class="md-nav__link">
|
||
Welcome
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../how-it-works/" title="How it works" class="md-nav__link">
|
||
How it works
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../troubleshooting/" title="Troubleshooting" class="md-nav__link">
|
||
Troubleshooting
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../kubectl-plugin/" title="kubectl plugin" class="md-nav__link">
|
||
kubectl plugin
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../development/" title="Development" class="md-nav__link">
|
||
Development
|
||
</a>
|
||
</li>
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--nested">
|
||
|
||
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-2" type="checkbox" id="nav-2">
|
||
|
||
<label class="md-nav__link" for="nav-2">
|
||
Deployment
|
||
</label>
|
||
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
|
||
<label class="md-nav__title" for="nav-2">
|
||
Deployment
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../deploy/" title="Installation Guide" class="md-nav__link">
|
||
Installation Guide
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../deploy/baremetal/" title="Bare-metal considerations" class="md-nav__link">
|
||
Bare-metal considerations
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../deploy/rbac/" title="Role Based Access Control (RBAC)" class="md-nav__link">
|
||
Role Based Access Control (RBAC)
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../deploy/validating-webhook/" title="Validating Webhook (admission controller)" class="md-nav__link">
|
||
Validating Webhook (admission controller)
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../deploy/upgrade/" title="Upgrade" class="md-nav__link">
|
||
Upgrade
|
||
</a>
|
||
</li>
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
|
||
|
||
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3" checked>
|
||
|
||
<label class="md-nav__link" for="nav-3">
|
||
User guide
|
||
</label>
|
||
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
|
||
<label class="md-nav__title" for="nav-3">
|
||
User guide
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
|
||
|
||
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-3-1" type="checkbox" id="nav-3-1" checked>
|
||
|
||
<label class="md-nav__link" for="nav-3-1">
|
||
NGINX Configuration
|
||
</label>
|
||
<nav class="md-nav" data-md-component="collapsible" data-md-level="2">
|
||
<label class="md-nav__title" for="nav-3-1">
|
||
NGINX Configuration
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../" title="Introduction" class="md-nav__link">
|
||
Introduction
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../basic-usage/" title="Basic usage" class="md-nav__link">
|
||
Basic usage
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../annotations/" title="Annotations" class="md-nav__link">
|
||
Annotations
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--active">
|
||
|
||
<input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
|
||
|
||
|
||
|
||
|
||
<label class="md-nav__link md-nav__link--active" for="__toc">
|
||
ConfigMap
|
||
</label>
|
||
|
||
<a href="./" title="ConfigMap" class="md-nav__link md-nav__link--active">
|
||
ConfigMap
|
||
</a>
|
||
|
||
|
||
<nav class="md-nav md-nav--secondary">
|
||
|
||
|
||
|
||
|
||
|
||
<label class="md-nav__title" for="__toc">Table of contents</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#configuration-options" title="Configuration options" class="md-nav__link">
|
||
Configuration options
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#add-headers" title="add-headers" class="md-nav__link">
|
||
add-headers
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#allow-backend-server-header" title="allow-backend-server-header" class="md-nav__link">
|
||
allow-backend-server-header
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#hide-headers" title="hide-headers" class="md-nav__link">
|
||
hide-headers
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#access-log-params" title="access-log-params" class="md-nav__link">
|
||
access-log-params
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#access-log-path" title="access-log-path" class="md-nav__link">
|
||
access-log-path
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#enable-access-log-for-default-backend" title="enable-access-log-for-default-backend" class="md-nav__link">
|
||
enable-access-log-for-default-backend
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#error-log-path" title="error-log-path" class="md-nav__link">
|
||
error-log-path
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#enable-modsecurity" title="enable-modsecurity" class="md-nav__link">
|
||
enable-modsecurity
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#enable-owasp-modsecurity-crs" title="enable-owasp-modsecurity-crs" class="md-nav__link">
|
||
enable-owasp-modsecurity-crs
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#client-header-buffer-size" title="client-header-buffer-size" class="md-nav__link">
|
||
client-header-buffer-size
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#client-header-timeout" title="client-header-timeout" class="md-nav__link">
|
||
client-header-timeout
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#client-body-buffer-size" title="client-body-buffer-size" class="md-nav__link">
|
||
client-body-buffer-size
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#client-body-timeout" title="client-body-timeout" class="md-nav__link">
|
||
client-body-timeout
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#disable-access-log" title="disable-access-log" class="md-nav__link">
|
||
disable-access-log
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#disable-ipv6" title="disable-ipv6" class="md-nav__link">
|
||
disable-ipv6
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#disable-ipv6-dns" title="disable-ipv6-dns" class="md-nav__link">
|
||
disable-ipv6-dns
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#enable-underscores-in-headers" title="enable-underscores-in-headers" class="md-nav__link">
|
||
enable-underscores-in-headers
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#ignore-invalid-headers" title="ignore-invalid-headers" class="md-nav__link">
|
||
ignore-invalid-headers
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#retry-non-idempotent" title="retry-non-idempotent" class="md-nav__link">
|
||
retry-non-idempotent
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#error-log-level" title="error-log-level" class="md-nav__link">
|
||
error-log-level
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#http2-max-field-size" title="http2-max-field-size" class="md-nav__link">
|
||
http2-max-field-size
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#http2-max-header-size" title="http2-max-header-size" class="md-nav__link">
|
||
http2-max-header-size
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#http2-max-requests" title="http2-max-requests" class="md-nav__link">
|
||
http2-max-requests
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#hsts" title="hsts" class="md-nav__link">
|
||
hsts
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#hsts-include-subdomains" title="hsts-include-subdomains" class="md-nav__link">
|
||
hsts-include-subdomains
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#hsts-max-age" title="hsts-max-age" class="md-nav__link">
|
||
hsts-max-age
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#hsts-preload" title="hsts-preload" class="md-nav__link">
|
||
hsts-preload
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#keep-alive" title="keep-alive" class="md-nav__link">
|
||
keep-alive
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#keep-alive-requests" title="keep-alive-requests" class="md-nav__link">
|
||
keep-alive-requests
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#large-client-header-buffers" title="large-client-header-buffers" class="md-nav__link">
|
||
large-client-header-buffers
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#log-format-escape-json" title="log-format-escape-json" class="md-nav__link">
|
||
log-format-escape-json
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#log-format-upstream" title="log-format-upstream" class="md-nav__link">
|
||
log-format-upstream
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#http-redirect-code" title="http-redirect-code" class="md-nav__link">
|
||
http-redirect-code
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#proxy-buffering" title="proxy-buffering" class="md-nav__link">
|
||
proxy-buffering
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#limit-req-status-code" title="limit-req-status-code" class="md-nav__link">
|
||
limit-req-status-code
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#limit-conn-status-code" title="limit-conn-status-code" class="md-nav__link">
|
||
limit-conn-status-code
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#no-tls-redirect-locations" title="no-tls-redirect-locations" class="md-nav__link">
|
||
no-tls-redirect-locations
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#global-auth-url" title="global-auth-url" class="md-nav__link">
|
||
global-auth-url
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#global-auth-method" title="global-auth-method" class="md-nav__link">
|
||
global-auth-method
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#global-auth-signin" title="global-auth-signin" class="md-nav__link">
|
||
global-auth-signin
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#global-auth-response-headers" title="global-auth-response-headers" class="md-nav__link">
|
||
global-auth-response-headers
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#global-auth-request-redirect" title="global-auth-request-redirect" class="md-nav__link">
|
||
global-auth-request-redirect
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#global-auth-snippet" title="global-auth-snippet" class="md-nav__link">
|
||
global-auth-snippet
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#global-auth-cache-key" title="global-auth-cache-key" class="md-nav__link">
|
||
global-auth-cache-key
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#global-auth-cache-duration" title="global-auth-cache-duration" class="md-nav__link">
|
||
global-auth-cache-duration
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#no-auth-locations" title="no-auth-locations" class="md-nav__link">
|
||
no-auth-locations
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#block-cidrs" title="block-cidrs" class="md-nav__link">
|
||
block-cidrs
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#block-user-agents" title="block-user-agents" class="md-nav__link">
|
||
block-user-agents
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#block-referers" title="block-referers" class="md-nav__link">
|
||
block-referers
|
||
</a>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../custom-template/" title="Custom NGINX template" class="md-nav__link">
|
||
Custom NGINX template
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../log-format/" title="Log format" class="md-nav__link">
|
||
Log format
|
||
</a>
|
||
</li>
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../cli-arguments/" title="Command line arguments" class="md-nav__link">
|
||
Command line arguments
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../custom-errors/" title="Custom errors" class="md-nav__link">
|
||
Custom errors
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../default-backend/" title="Default backend" class="md-nav__link">
|
||
Default backend
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../exposing-tcp-udp-services/" title="Exposing TCP and UDP services" class="md-nav__link">
|
||
Exposing TCP and UDP services
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../fcgi-services/" title="Exposing FCGI services" class="md-nav__link">
|
||
Exposing FCGI services
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../ingress-path-matching/" title="Regular expressions in paths" class="md-nav__link">
|
||
Regular expressions in paths
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../external-articles/" title="External Articles" class="md-nav__link">
|
||
External Articles
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../miscellaneous/" title="Miscellaneous" class="md-nav__link">
|
||
Miscellaneous
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../monitoring/" title="Prometheus and Grafana installation" class="md-nav__link">
|
||
Prometheus and Grafana installation
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../multiple-ingress/" title="Multiple Ingress controllers" class="md-nav__link">
|
||
Multiple Ingress controllers
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../tls/" title="TLS/HTTPS" class="md-nav__link">
|
||
TLS/HTTPS
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--nested">
|
||
|
||
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-3-13" type="checkbox" id="nav-3-13">
|
||
|
||
<label class="md-nav__link" for="nav-3-13">
|
||
Third party addons
|
||
</label>
|
||
<nav class="md-nav" data-md-component="collapsible" data-md-level="2">
|
||
<label class="md-nav__title" for="nav-3-13">
|
||
Third party addons
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../third-party-addons/modsecurity/" title="ModSecurity Web Application Firewall" class="md-nav__link">
|
||
ModSecurity Web Application Firewall
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../third-party-addons/opentracing/" title="OpenTracing" class="md-nav__link">
|
||
OpenTracing
|
||
</a>
|
||
</li>
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
</li>
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--nested">
|
||
|
||
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4">
|
||
|
||
<label class="md-nav__link" for="nav-4">
|
||
Examples
|
||
</label>
|
||
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
|
||
<label class="md-nav__title" for="nav-4">
|
||
Examples
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../examples/" title="Introduction" class="md-nav__link">
|
||
Introduction
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../examples/PREREQUISITES/" title="Prerequisites" class="md-nav__link">
|
||
Prerequisites
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../examples/affinity/cookie/" title="Sticky Sessions" class="md-nav__link">
|
||
Sticky Sessions
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--nested">
|
||
|
||
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-4" type="checkbox" id="nav-4-4">
|
||
|
||
<label class="md-nav__link" for="nav-4-4">
|
||
Auth
|
||
</label>
|
||
<nav class="md-nav" data-md-component="collapsible" data-md-level="2">
|
||
<label class="md-nav__title" for="nav-4-4">
|
||
Auth
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../examples/auth/basic/" title="Basic Authentication" class="md-nav__link">
|
||
Basic Authentication
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../examples/auth/client-certs/" title="Client Certificate Authentication" class="md-nav__link">
|
||
Client Certificate Authentication
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../examples/auth/external-auth/" title="External Basic Authentication" class="md-nav__link">
|
||
External Basic Authentication
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../examples/auth/oauth-external-auth/" title="External OAUTH Authentication" class="md-nav__link">
|
||
External OAUTH Authentication
|
||
</a>
|
||
</li>
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--nested">
|
||
|
||
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-5" type="checkbox" id="nav-4-5">
|
||
|
||
<label class="md-nav__link" for="nav-4-5">
|
||
Customization
|
||
</label>
|
||
<nav class="md-nav" data-md-component="collapsible" data-md-level="2">
|
||
<label class="md-nav__title" for="nav-4-5">
|
||
Customization
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../examples/customization/configuration-snippets/" title="Configuration Snippets" class="md-nav__link">
|
||
Configuration Snippets
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../examples/customization/custom-configuration/" title="Custom Configuration" class="md-nav__link">
|
||
Custom Configuration
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../examples/customization/custom-errors/" title="Custom Errors" class="md-nav__link">
|
||
Custom Errors
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../examples/customization/custom-headers/" title="Custom Headers" class="md-nav__link">
|
||
Custom Headers
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../examples/customization/external-auth-headers/" title="External authentication" class="md-nav__link">
|
||
External authentication
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../examples/customization/ssl-dh-param/" title="Custom DH parameters for perfect forward secrecy" class="md-nav__link">
|
||
Custom DH parameters for perfect forward secrecy
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../examples/customization/sysctl/" title="Sysctl tuning" class="md-nav__link">
|
||
Sysctl tuning
|
||
</a>
|
||
</li>
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../examples/docker-registry/" title="Docker registry" class="md-nav__link">
|
||
Docker registry
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../examples/grpc/" title="gRPC" class="md-nav__link">
|
||
gRPC
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../examples/multi-tls/" title="Multi TLS certificate termination" class="md-nav__link">
|
||
Multi TLS certificate termination
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../examples/rewrite/" title="Rewrite" class="md-nav__link">
|
||
Rewrite
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../examples/static-ip/" title="Static IPs" class="md-nav__link">
|
||
Static IPs
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../examples/tls-termination/" title="TLS termination" class="md-nav__link">
|
||
TLS termination
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../../examples/psp/" title="Pod Security Policy (PSP)" class="md-nav__link">
|
||
Pod Security Policy (PSP)
|
||
</a>
|
||
</li>
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
</li>
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
|
||
<div class="md-sidebar__scrollwrap">
|
||
<div class="md-sidebar__inner">
|
||
|
||
<nav class="md-nav md-nav--secondary">
|
||
|
||
|
||
|
||
|
||
|
||
<label class="md-nav__title" for="__toc">Table of contents</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#configuration-options" title="Configuration options" class="md-nav__link">
|
||
Configuration options
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#add-headers" title="add-headers" class="md-nav__link">
|
||
add-headers
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#allow-backend-server-header" title="allow-backend-server-header" class="md-nav__link">
|
||
allow-backend-server-header
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#hide-headers" title="hide-headers" class="md-nav__link">
|
||
hide-headers
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#access-log-params" title="access-log-params" class="md-nav__link">
|
||
access-log-params
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#access-log-path" title="access-log-path" class="md-nav__link">
|
||
access-log-path
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#enable-access-log-for-default-backend" title="enable-access-log-for-default-backend" class="md-nav__link">
|
||
enable-access-log-for-default-backend
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#error-log-path" title="error-log-path" class="md-nav__link">
|
||
error-log-path
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#enable-modsecurity" title="enable-modsecurity" class="md-nav__link">
|
||
enable-modsecurity
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#enable-owasp-modsecurity-crs" title="enable-owasp-modsecurity-crs" class="md-nav__link">
|
||
enable-owasp-modsecurity-crs
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#client-header-buffer-size" title="client-header-buffer-size" class="md-nav__link">
|
||
client-header-buffer-size
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#client-header-timeout" title="client-header-timeout" class="md-nav__link">
|
||
client-header-timeout
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#client-body-buffer-size" title="client-body-buffer-size" class="md-nav__link">
|
||
client-body-buffer-size
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#client-body-timeout" title="client-body-timeout" class="md-nav__link">
|
||
client-body-timeout
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#disable-access-log" title="disable-access-log" class="md-nav__link">
|
||
disable-access-log
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#disable-ipv6" title="disable-ipv6" class="md-nav__link">
|
||
disable-ipv6
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#disable-ipv6-dns" title="disable-ipv6-dns" class="md-nav__link">
|
||
disable-ipv6-dns
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#enable-underscores-in-headers" title="enable-underscores-in-headers" class="md-nav__link">
|
||
enable-underscores-in-headers
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#ignore-invalid-headers" title="ignore-invalid-headers" class="md-nav__link">
|
||
ignore-invalid-headers
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#retry-non-idempotent" title="retry-non-idempotent" class="md-nav__link">
|
||
retry-non-idempotent
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#error-log-level" title="error-log-level" class="md-nav__link">
|
||
error-log-level
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#http2-max-field-size" title="http2-max-field-size" class="md-nav__link">
|
||
http2-max-field-size
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#http2-max-header-size" title="http2-max-header-size" class="md-nav__link">
|
||
http2-max-header-size
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#http2-max-requests" title="http2-max-requests" class="md-nav__link">
|
||
http2-max-requests
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#hsts" title="hsts" class="md-nav__link">
|
||
hsts
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#hsts-include-subdomains" title="hsts-include-subdomains" class="md-nav__link">
|
||
hsts-include-subdomains
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#hsts-max-age" title="hsts-max-age" class="md-nav__link">
|
||
hsts-max-age
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#hsts-preload" title="hsts-preload" class="md-nav__link">
|
||
hsts-preload
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#keep-alive" title="keep-alive" class="md-nav__link">
|
||
keep-alive
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#keep-alive-requests" title="keep-alive-requests" class="md-nav__link">
|
||
keep-alive-requests
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#large-client-header-buffers" title="large-client-header-buffers" class="md-nav__link">
|
||
large-client-header-buffers
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#log-format-escape-json" title="log-format-escape-json" class="md-nav__link">
|
||
log-format-escape-json
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#log-format-upstream" title="log-format-upstream" class="md-nav__link">
|
||
log-format-upstream
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#http-redirect-code" title="http-redirect-code" class="md-nav__link">
|
||
http-redirect-code
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#proxy-buffering" title="proxy-buffering" class="md-nav__link">
|
||
proxy-buffering
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#limit-req-status-code" title="limit-req-status-code" class="md-nav__link">
|
||
limit-req-status-code
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#limit-conn-status-code" title="limit-conn-status-code" class="md-nav__link">
|
||
limit-conn-status-code
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#no-tls-redirect-locations" title="no-tls-redirect-locations" class="md-nav__link">
|
||
no-tls-redirect-locations
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#global-auth-url" title="global-auth-url" class="md-nav__link">
|
||
global-auth-url
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#global-auth-method" title="global-auth-method" class="md-nav__link">
|
||
global-auth-method
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#global-auth-signin" title="global-auth-signin" class="md-nav__link">
|
||
global-auth-signin
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#global-auth-response-headers" title="global-auth-response-headers" class="md-nav__link">
|
||
global-auth-response-headers
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#global-auth-request-redirect" title="global-auth-request-redirect" class="md-nav__link">
|
||
global-auth-request-redirect
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#global-auth-snippet" title="global-auth-snippet" class="md-nav__link">
|
||
global-auth-snippet
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#global-auth-cache-key" title="global-auth-cache-key" class="md-nav__link">
|
||
global-auth-cache-key
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#global-auth-cache-duration" title="global-auth-cache-duration" class="md-nav__link">
|
||
global-auth-cache-duration
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#no-auth-locations" title="no-auth-locations" class="md-nav__link">
|
||
no-auth-locations
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#block-cidrs" title="block-cidrs" class="md-nav__link">
|
||
block-cidrs
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#block-user-agents" title="block-user-agents" class="md-nav__link">
|
||
block-user-agents
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#block-referers" title="block-referers" class="md-nav__link">
|
||
block-referers
|
||
</a>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
|
||
</nav>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="md-content">
|
||
<article class="md-content__inner md-typeset">
|
||
|
||
|
||
<a href="https://github.com/kubernetes/ingress-nginx/edit/master/docs/user-guide/nginx-configuration/configmap.md" title="Edit this page" class="md-icon md-content__icon"></a>
|
||
|
||
|
||
<h1 id="configmaps">ConfigMaps<a class="headerlink" href="#configmaps" title="Permanent link">¶</a></h1>
|
||
<p>ConfigMaps allow you to decouple configuration artifacts from image content to keep containerized applications portable.</p>
|
||
<p>The ConfigMap API resource stores configuration data as key-value pairs. The data provides the configurations for system
|
||
components for the nginx-controller.</p>
|
||
<p>In order to overwrite nginx-controller configuration values as seen in <a href="https://github.com/kubernetes/ingress-nginx/blob/master/internal/ingress/controller/config/config.go">config.go</a>,
|
||
you can add key-value pairs to the data section of the config-map. For Example:</p>
|
||
<div class="codehilite"><pre><span></span><span class="nt">data</span><span class="p">:</span>
|
||
<span class="nt">map-hash-bucket-size</span><span class="p">:</span> <span class="s">"128"</span>
|
||
<span class="nt">ssl-protocols</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">SSLv2</span>
|
||
</pre></div>
|
||
|
||
<div class="admonition important">
|
||
<p class="admonition-title">Important</p>
|
||
<p>The key and values in a ConfigMap can only be strings.
|
||
This means that we want a value with boolean values we need to quote the values, like "true" or "false".
|
||
Same for numbers, like "100".</p>
|
||
<p>"Slice" types (defined below as <code class="codehilite">[]string</code> or <code class="codehilite">[]int</code> can be provided as a comma-delimited string.</p>
|
||
</div>
|
||
<h2 id="configuration-options">Configuration options<a class="headerlink" href="#configuration-options" title="Permanent link">¶</a></h2>
|
||
<p>The following table shows a configuration option's name, type, and the default value:</p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th align="left">name</th>
|
||
<th align="left">type</th>
|
||
<th align="left">default</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td align="left"><a href="#add-headers">add-headers</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#allow-backend-server-header">allow-backend-server-header</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"false"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#hide-headers">hide-headers</a></td>
|
||
<td align="left">string array</td>
|
||
<td align="left">empty</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#access-log-params">access-log-params</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#access-log-path">access-log-path</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"/var/log/nginx/access.log"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#enable-access-log-for-default-backend">enable-access-log-for-default-backend</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"false"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#error-log-path">error-log-path</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"/var/log/nginx/error.log"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#enable-modsecurity">enable-modsecurity</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"false"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#enable-owasp-modsecurity-crs">enable-owasp-modsecurity-crs</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"false"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#client-header-buffer-size">client-header-buffer-size</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"1k"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#client-header-timeout">client-header-timeout</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">60</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#client-body-buffer-size">client-body-buffer-size</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"8k"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#client-body-timeout">client-body-timeout</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">60</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#disable-access-log">disable-access-log</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">false</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#disable-ipv6">disable-ipv6</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">false</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#disable-ipv6-dns">disable-ipv6-dns</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">false</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#enable-underscores-in-headers">enable-underscores-in-headers</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">false</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#ignore-invalid-headers">ignore-invalid-headers</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">true</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#retry-non-idempotent">retry-non-idempotent</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"false"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#error-log-level">error-log-level</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"notice"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#http2-max-field-size">http2-max-field-size</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"4k"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#http2-max-header-size">http2-max-header-size</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"16k"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#http2-max-requests">http2-max-requests</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">1000</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#hsts">hsts</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"true"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#hsts-include-subdomains">hsts-include-subdomains</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"true"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#hsts-max-age">hsts-max-age</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"15724800"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#hsts-preload">hsts-preload</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"false"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#keep-alive">keep-alive</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">75</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#keep-alive-requests">keep-alive-requests</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">100</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#large-client-header-buffers">large-client-header-buffers</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"4 8k"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#log-format-escape-json">log-format-escape-json</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"false"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#log-format-upstream">log-format-upstream</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left"><code class="codehilite"><span class="nf">%v</span> <span class="o">-</span> <span class="p">[</span><span class="n">$the_real_ip</span><span class="p">]</span> <span class="o">-</span> <span class="n">$remote_user</span> <span class="p">[</span><span class="n">$time_local</span><span class="p">]</span> <span class="s">"$request"</span> <span class="n">$status</span> <span class="n">$body_bytes_sent</span> <span class="s">"$http_referer"</span> <span class="s">"$http_user_agent"</span> <span class="n">$request_length</span> <span class="n">$request_time</span> <span class="p">[</span><span class="n">$proxy_upstream_name</span><span class="p">]</span> <span class="n">$upstream_addr</span> <span class="n">$upstream_response_length</span> <span class="n">$upstream_response_time</span> <span class="n">$upstream_status</span> <span class="n">$req_id</span></code></td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#log-format-stream">log-format-stream</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left"><code class="codehilite">[$time_local] $protocol $status $bytes_sent $bytes_received $session_time</code></td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#enable-multi-accept">enable-multi-accept</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"true"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#max-worker-connections">max-worker-connections</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">16384</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#max-worker-open-files">max-worker-open-files</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">0</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#max-hash-bucket-size">map-hash-bucket-size</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">64</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#nginx-status-ipv4-whitelist">nginx-status-ipv4-whitelist</a></td>
|
||
<td align="left">[]string</td>
|
||
<td align="left">"127.0.0.1"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#nginx-status-ipv6-whitelist">nginx-status-ipv6-whitelist</a></td>
|
||
<td align="left">[]string</td>
|
||
<td align="left">"::1"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#proxy-real-ip-cidr">proxy-real-ip-cidr</a></td>
|
||
<td align="left">[]string</td>
|
||
<td align="left">"0.0.0.0/0"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#proxy-set-headers">proxy-set-headers</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#server-name-hash-max-size">server-name-hash-max-size</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">1024</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#server-name-hash-bucket-size">server-name-hash-bucket-size</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left"><code class="codehilite"><size of the processor’s cache line></code></td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#proxy-headers-hash-max-size">proxy-headers-hash-max-size</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">512</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#proxy-headers-hash-bucket-size">proxy-headers-hash-bucket-size</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">64</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#reuse-port">reuse-port</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"true"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#server-tokens">server-tokens</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"true"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#ssl-ciphers">ssl-ciphers</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#ssl-ecdh-curve">ssl-ecdh-curve</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"auto"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#ssl-dh-param">ssl-dh-param</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#ssl-protocols">ssl-protocols</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"TLSv1.2"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#ssl-session-cache">ssl-session-cache</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"true"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#ssl-session-cache-size">ssl-session-cache-size</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"10m"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#ssl-session-tickets">ssl-session-tickets</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"true"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#ssl-session-ticket-key">ssl-session-ticket-key</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left"><code class="codehilite"><Randomly Generated></code></td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#ssl-session-timeout">ssl-session-timeout</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"10m"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#ssl-buffer-size">ssl-buffer-size</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"4k"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#use-proxy-protocol">use-proxy-protocol</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"false"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#proxy-protocol-header-timeout">proxy-protocol-header-timeout</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"5s"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#use-gzip">use-gzip</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"true"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#use-geoip">use-geoip</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"true"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#use-geoip2">use-geoip2</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"false"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#enable-brotli">enable-brotli</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"false"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#brotli-level">brotli-level</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">4</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#brotli-types">brotli-types</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"application/xml+rss application/atom+xml application/javascript application/x-javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/javascript text/plain text/x-component"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#use-http2">use-http2</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"true"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#gzip-level">gzip-level</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">5</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#gzip-types">gzip-types</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"application/atom+xml application/javascript application/x-javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/javascript text/plain text/x-component"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#worker-processes">worker-processes</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left"><code class="codehilite"><Number of CPUs></code></td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#worker-cpu-affinity">worker-cpu-affinity</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#worker-shutdown-timeout">worker-shutdown-timeout</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"10s"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#load-balance">load-balance</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"round_robin"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#variables-hash-bucket-size">variables-hash-bucket-size</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">128</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#variables-hash-max-size">variables-hash-max-size</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">2048</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#upstream-keepalive-connections">upstream-keepalive-connections</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">32</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#upstream-keepalive-timeout">upstream-keepalive-timeout</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">60</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#upstream-keepalive-requests">upstream-keepalive-requests</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">100</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#limit-conn-zone-variable">limit-conn-zone-variable</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"$binary_remote_addr"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#proxy-stream-timeout">proxy-stream-timeout</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"600s"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#proxy-stream-responses">proxy-stream-responses</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">1</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#bind-address">bind-address</a></td>
|
||
<td align="left">[]string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#use-forwarded-headers">use-forwarded-headers</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"false"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#forwarded-for-header">forwarded-for-header</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"X-Forwarded-For"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#compute-full-forwarded-for">compute-full-forwarded-for</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"false"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#proxy-add-original-uri-header">proxy-add-original-uri-header</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"true"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#generate-request-id">generate-request-id</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"true"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#enable-opentracing">enable-opentracing</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"false"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#zipkin-collector-host">zipkin-collector-host</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#zipkin-collector-port">zipkin-collector-port</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">9411</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#zipkin-service-name">zipkin-service-name</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"nginx"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#zipkin-sample-rate">zipkin-sample-rate</a></td>
|
||
<td align="left">float</td>
|
||
<td align="left">1.0</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#jaeger-collector-host">jaeger-collector-host</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#jaeger-collector-port">jaeger-collector-port</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">6831</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#jaeger-service-name">jaeger-service-name</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"nginx"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#jaeger-sampler-type">jaeger-sampler-type</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"const"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#jaeger-sampler-param">jaeger-sampler-param</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"1"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#jaeger-sampler-host">jaeger-sampler-host</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"http://127.0.0.1"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#jaeger-sampler-port">jaeger-sampler-port</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">5778</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#main-snippet">main-snippet</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#http-snippet">http-snippet</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#server-snippet">server-snippet</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#location-snippet">location-snippet</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#custom-http-errors">custom-http-errors</a></td>
|
||
<td align="left">[]int</td>
|
||
<td align="left">[]int{}</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#proxy-body-size">proxy-body-size</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"1m"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#proxy-connect-timeout">proxy-connect-timeout</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">5</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#proxy-read-timeout">proxy-read-timeout</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">60</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#proxy-send-timeout">proxy-send-timeout</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">60</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#proxy-buffers-number">proxy-buffers-number</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">4</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#proxy-buffer-size">proxy-buffer-size</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"4k"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#proxy-cookie-path">proxy-cookie-path</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"off"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#proxy-cookie-domain">proxy-cookie-domain</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"off"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#proxy-next-upstream">proxy-next-upstream</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"error timeout"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#proxy-next-upstream-timeout">proxy-next-upstream-timeout</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">0</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#proxy-next-upstream-tries">proxy-next-upstream-tries</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">3</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#proxy-redirect-from">proxy-redirect-from</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"off"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#proxy-request-buffering">proxy-request-buffering</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"on"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#ssl-redirect">ssl-redirect</a></td>
|
||
<td align="left">bool</td>
|
||
<td align="left">"true"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#whitelist-source-range">whitelist-source-range</a></td>
|
||
<td align="left">[]string</td>
|
||
<td align="left">[]string{}</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#skip-access-log-urls">skip-access-log-urls</a></td>
|
||
<td align="left">[]string</td>
|
||
<td align="left">[]string{}</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#limit-rate">limit-rate</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">0</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#limit-rate-after">limit-rate-after</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">0</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#lua-shared-dicts">lua-shared-dicts</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#http-redirect-code">http-redirect-code</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">308</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#proxy-buffering">proxy-buffering</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"off"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#limit-req-status-code">limit-req-status-code</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">503</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#limit-conn-status-code">limit-conn-status-code</a></td>
|
||
<td align="left">int</td>
|
||
<td align="left">503</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#no-tls-redirect-locations">no-tls-redirect-locations</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"/.well-known/acme-challenge"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#global-auth-url">global-auth-url</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#global-auth-method">global-auth-method</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#global-auth-signin">global-auth-signin</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#global-auth-response-headers">global-auth-response-headers</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#global-auth-request-redirect">global-auth-request-redirect</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#global-auth-snippet">global-auth-snippet</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#global-auth-cache-key">global-auth-cache-key</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#global-auth-cache-duration">global-auth-cache-duration</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"200 202 401 5m"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#no-auth-locations">no-auth-locations</a></td>
|
||
<td align="left">string</td>
|
||
<td align="left">"/.well-known/acme-challenge"</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#block-cidrs">block-cidrs</a></td>
|
||
<td align="left">[]string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#block-user-agents">block-user-agents</a></td>
|
||
<td align="left">[]string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
<tr>
|
||
<td align="left"><a href="#block-referers">block-referers</a></td>
|
||
<td align="left">[]string</td>
|
||
<td align="left">""</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<h2 id="add-headers">add-headers<a class="headerlink" href="#add-headers" title="Permanent link">¶</a></h2>
|
||
<p>Sets custom headers from named configmap before sending traffic to the client. See <a href="#proxy-set-headers">proxy-set-headers</a>. <a href="https://github.com/kubernetes/ingress-nginx/tree/master/docs/examples/customization/custom-headers">example</a></p>
|
||
<h2 id="allow-backend-server-header">allow-backend-server-header<a class="headerlink" href="#allow-backend-server-header" title="Permanent link">¶</a></h2>
|
||
<p>Enables the return of the header Server from the backend instead of the generic nginx string. <em><strong>default:</strong></em> is disabled</p>
|
||
<h2 id="hide-headers">hide-headers<a class="headerlink" href="#hide-headers" title="Permanent link">¶</a></h2>
|
||
<p>Sets additional header that will not be passed from the upstream server to the client response.
|
||
<em><strong>default:</strong></em> empty</p>
|
||
<p><em>References:</em>
|
||
<a href="http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header">http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_hide_header</a></p>
|
||
<h2 id="access-log-params">access-log-params<a class="headerlink" href="#access-log-params" title="Permanent link">¶</a></h2>
|
||
<p>Additional params for access_log. For example, buffer=16k, gzip, flush=1m</p>
|
||
<p><em>References:</em>
|
||
<a href="http://nginx.org/en/docs/http/ngx_http_log_module.html#access_log">http://nginx.org/en/docs/http/ngx_http_log_module.html#access_log</a></p>
|
||
<h2 id="access-log-path">access-log-path<a class="headerlink" href="#access-log-path" title="Permanent link">¶</a></h2>
|
||
<p>Access log path. Goes to <code class="codehilite">/var/log/nginx/access.log</code> by default.</p>
|
||
<p><strong>Note:</strong> the file <code class="codehilite">/var/log/nginx/access.log</code> is a symlink to <code class="codehilite">/dev/stdout</code></p>
|
||
<h2 id="enable-access-log-for-default-backend">enable-access-log-for-default-backend<a class="headerlink" href="#enable-access-log-for-default-backend" title="Permanent link">¶</a></h2>
|
||
<p>Enables logging access to default backend. <em><strong>default:</strong></em> is disabled.</p>
|
||
<h2 id="error-log-path">error-log-path<a class="headerlink" href="#error-log-path" title="Permanent link">¶</a></h2>
|
||
<p>Error log path. Goes to <code class="codehilite">/var/log/nginx/error.log</code> by default.</p>
|
||
<p><strong>Note:</strong> the file <code class="codehilite">/var/log/nginx/error.log</code> is a symlink to <code class="codehilite">/dev/stderr</code></p>
|
||
<p><em>References:</em>
|
||
<a href="http://nginx.org/en/docs/ngx_core_module.html#error_log">http://nginx.org/en/docs/ngx_core_module.html#error_log</a></p>
|
||
<h2 id="enable-modsecurity">enable-modsecurity<a class="headerlink" href="#enable-modsecurity" title="Permanent link">¶</a></h2>
|
||
<p>Enables the modsecurity module for NGINX. <em><strong>default:</strong></em> is disabled</p>
|
||
<h2 id="enable-owasp-modsecurity-crs">enable-owasp-modsecurity-crs<a class="headerlink" href="#enable-owasp-modsecurity-crs" title="Permanent link">¶</a></h2>
|
||
<p>Enables the OWASP ModSecurity Core Rule Set (CRS). <em><strong>default:</strong></em> is disabled</p>
|
||
<h2 id="client-header-buffer-size">client-header-buffer-size<a class="headerlink" href="#client-header-buffer-size" title="Permanent link">¶</a></h2>
|
||
<p>Allows to configure a custom buffer size for reading client request header.</p>
|
||
<p><em>References:</em>
|
||
<a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#client_header_buffer_size">http://nginx.org/en/docs/http/ngx_http_core_module.html#client_header_buffer_size</a></p>
|
||
<h2 id="client-header-timeout">client-header-timeout<a class="headerlink" href="#client-header-timeout" title="Permanent link">¶</a></h2>
|
||
<p>Defines a timeout for reading client request header, in seconds.</p>
|
||
<p><em>References:</em>
|
||
<a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#client_header_timeout">http://nginx.org/en/docs/http/ngx_http_core_module.html#client_header_timeout</a></p>
|
||
<h2 id="client-body-buffer-size">client-body-buffer-size<a class="headerlink" href="#client-body-buffer-size" title="Permanent link">¶</a></h2>
|
||
<p>Sets buffer size for reading client request body.</p>
|
||
<p><em>References:</em>
|
||
<a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size">http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size</a></p>
|
||
<h2 id="client-body-timeout">client-body-timeout<a class="headerlink" href="#client-body-timeout" title="Permanent link">¶</a></h2>
|
||
<p>Defines a timeout for reading client request body, in seconds.</p>
|
||
<p><em>References:</em>
|
||
<a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_timeout">http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_timeout</a></p>
|
||
<h2 id="disable-access-log">disable-access-log<a class="headerlink" href="#disable-access-log" title="Permanent link">¶</a></h2>
|
||
<p>Disables the Access Log from the entire Ingress Controller. <em><strong>default:</strong></em> '"false"'</p>
|
||
<p><em>References:</em>
|
||
<a href="http://nginx.org/en/docs/http/ngx_http_log_module.html#access_log">http://nginx.org/en/docs/http/ngx_http_log_module.html#access_log</a></p>
|
||
<h2 id="disable-ipv6">disable-ipv6<a class="headerlink" href="#disable-ipv6" title="Permanent link">¶</a></h2>
|
||
<p>Disable listening on IPV6. <em><strong>default:</strong></em> <code class="codehilite">false</code>; IPv6 listening is enabled</p>
|
||
<h2 id="disable-ipv6-dns">disable-ipv6-dns<a class="headerlink" href="#disable-ipv6-dns" title="Permanent link">¶</a></h2>
|
||
<p>Disable IPV6 for nginx DNS resolver. <em><strong>default:</strong></em> <code class="codehilite">false</code>; IPv6 resolving enabled.</p>
|
||
<h2 id="enable-underscores-in-headers">enable-underscores-in-headers<a class="headerlink" href="#enable-underscores-in-headers" title="Permanent link">¶</a></h2>
|
||
<p>Enables underscores in header names. <em><strong>default:</strong></em> is disabled</p>
|
||
<h2 id="ignore-invalid-headers">ignore-invalid-headers<a class="headerlink" href="#ignore-invalid-headers" title="Permanent link">¶</a></h2>
|
||
<p>Set if header fields with invalid names should be ignored.
|
||
<em><strong>default:</strong></em> is enabled</p>
|
||
<h2 id="retry-non-idempotent">retry-non-idempotent<a class="headerlink" href="#retry-non-idempotent" title="Permanent link">¶</a></h2>
|
||
<p>Since 1.9.13 NGINX will not retry non-idempotent requests (POST, LOCK, PATCH) in case of an error in the upstream server. The previous behavior can be restored using the value "true".</p>
|
||
<h2 id="error-log-level">error-log-level<a class="headerlink" href="#error-log-level" title="Permanent link">¶</a></h2>
|
||
<p>Configures the logging level of errors. Log levels above are listed in the order of increasing severity.</p>
|
||
<p><em>References:</em>
|
||
<a href="http://nginx.org/en/docs/ngx_core_module.html#error_log">http://nginx.org/en/docs/ngx_core_module.html#error_log</a></p>
|
||
<h2 id="http2-max-field-size">http2-max-field-size<a class="headerlink" href="#http2-max-field-size" title="Permanent link">¶</a></h2>
|
||
<p>Limits the maximum size of an HPACK-compressed request header field.</p>
|
||
<p><em>References:</em>
|
||
<a href="https://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_field_size">https://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_field_size</a></p>
|
||
<h2 id="http2-max-header-size">http2-max-header-size<a class="headerlink" href="#http2-max-header-size" title="Permanent link">¶</a></h2>
|
||
<p>Limits the maximum size of the entire request header list after HPACK decompression.</p>
|
||
<p><em>References:</em>
|
||
<a href="https://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_header_size">https://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_header_size</a></p>
|
||
<h2 id="http2-max-requests">http2-max-requests<a class="headerlink" href="#http2-max-requests" title="Permanent link">¶</a></h2>
|
||
<p>Sets the maximum number of requests (including push requests) that can be served through one HTTP/2 connection, after which the next client request will lead to connection closing and the need of establishing a new connection.</p>
|
||
<p><em>References:</em>
|
||
<a href="http://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_requests">http://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_max_requests</a></p>
|
||
<h2 id="hsts">hsts<a class="headerlink" href="#hsts" title="Permanent link">¶</a></h2>
|
||
<p>Enables or disables the header HSTS in servers running SSL.
|
||
HTTP Strict Transport Security (often abbreviated as HSTS) is a security feature (HTTP header) that tell browsers that it should only be communicated with using HTTPS, instead of using HTTP. It provides protection against protocol downgrade attacks and cookie theft.</p>
|
||
<p><em>References:</em></p>
|
||
<ul>
|
||
<li><a href="https://developer.mozilla.org/en-US/docs/Web/Security/HTTP_strict_transport_security">https://developer.mozilla.org/en-US/docs/Web/Security/HTTP_strict_transport_security</a></li>
|
||
<li><a href="https://blog.qualys.com/securitylabs/2016/03/28/the-importance-of-a-proper-http-strict-transport-security-implementation-on-your-web-server">https://blog.qualys.com/securitylabs/2016/03/28/the-importance-of-a-proper-http-strict-transport-security-implementation-on-your-web-server</a></li>
|
||
</ul>
|
||
<h2 id="hsts-include-subdomains">hsts-include-subdomains<a class="headerlink" href="#hsts-include-subdomains" title="Permanent link">¶</a></h2>
|
||
<p>Enables or disables the use of HSTS in all the subdomains of the server-name.</p>
|
||
<h2 id="hsts-max-age">hsts-max-age<a class="headerlink" href="#hsts-max-age" title="Permanent link">¶</a></h2>
|
||
<p>Sets the time, in seconds, that the browser should remember that this site is only to be accessed using HTTPS.</p>
|
||
<h2 id="hsts-preload">hsts-preload<a class="headerlink" href="#hsts-preload" title="Permanent link">¶</a></h2>
|
||
<p>Enables or disables the preload attribute in the HSTS feature (when it is enabled) dd</p>
|
||
<h2 id="keep-alive">keep-alive<a class="headerlink" href="#keep-alive" title="Permanent link">¶</a></h2>
|
||
<p>Sets the time during which a keep-alive client connection will stay open on the server side. The zero value disables keep-alive client connections.</p>
|
||
<p><em>References:</em>
|
||
<a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_timeout">http://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_timeout</a></p>
|
||
<h2 id="keep-alive-requests">keep-alive-requests<a class="headerlink" href="#keep-alive-requests" title="Permanent link">¶</a></h2>
|
||
<p>Sets the maximum number of requests that can be served through one keep-alive connection.</p>
|
||
<p><em>References:</em>
|
||
<a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_requests">http://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_requests</a></p>
|
||
<h2 id="large-client-header-buffers">large-client-header-buffers<a class="headerlink" href="#large-client-header-buffers" title="Permanent link">¶</a></h2>
|
||
<p>Sets the maximum number and size of buffers used for reading large client request header. <em><strong>default:</strong></em> 4 8k</p>
|
||
<p><em>References:</em>
|
||
<a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers">http://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers</a></p>
|
||
<h2 id="log-format-escape-json">log-format-escape-json<a class="headerlink" href="#log-format-escape-json" title="Permanent link">¶</a></h2>
|
||
<p>Sets if the escape parameter allows JSON ("true") or default characters escaping in variables ("false") Sets the nginx <a href="http://nginx.org/en/docs/http/ngx_http_log_module.html#log_format">log format</a>.</p>
|
||
<h2 id="log-format-upstream">log-format-upstream<a class="headerlink" href="#log-format-upstream" title="Permanent link">¶</a></h2>
|
||
<p>Sets the nginx <a href="http://nginx.org/en/docs/http/ngx_http_log_module.html#log_format">log format</a>.
|
||
Example for json output:</p>
|
||
<p><div class="codehilite"><pre><span></span><span class="go">log-format-upstream: '{ "time": "$time_iso8601", "remote_addr": "$proxy_protocol_addr",</span>
|
||
<span class="go"> "x-forward-for": "$proxy_add_x_forwarded_for", "request_id": "$req_id", "remote_user":</span>
|
||
<span class="go"> "$remote_user", "bytes_sent": $bytes_sent, "request_time": $request_time, "status":</span>
|
||
<span class="gp"> $</span>status, <span class="s2">"vhost"</span>: <span class="s2">"</span><span class="nv">$host</span><span class="s2">"</span>, <span class="s2">"request_proto"</span>: <span class="s2">"</span><span class="nv">$server_protocol</span><span class="s2">"</span>, <span class="s2">"path"</span>: <span class="s2">"</span><span class="nv">$uri</span><span class="s2">"</span>,
|
||
<span class="go"> "request_query": "$args", "request_length": $request_length, "duration": $request_time,</span>
|
||
<span class="go"> "method": "$request_method", "http_referrer": "$http_referer", "http_user_agent":</span>
|
||
<span class="go"> "$http_user_agent" }'</span>
|
||
<span class="go"> ```</span>
|
||
|
||
<span class="go">Please check the [log-format](log-format.md) for definition of each field.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># log-format-stream</span>
|
||
|
||
<span class="go">Sets the nginx [stream format](https://nginx.org/en/docs/stream/ngx_stream_log_module.html#log_format).</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># enable-multi-accept</span>
|
||
|
||
<span class="go">If disabled, a worker process will accept one new connection at a time. Otherwise, a worker process will accept all new connections at a time.</span>
|
||
<span class="go">_**default:**_ true</span>
|
||
|
||
<span class="go">_References:_</span>
|
||
<span class="gp">[http://nginx.org/en/docs/ngx_core_module.html#multi_accept](http://nginx.org/en/docs/ngx_core_module.html#</span>multi_accept<span class="o">)</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># max-worker-connections</span>
|
||
|
||
<span class="go">Sets the [maximum number of simultaneous connections](http://nginx.org/en/docs/ngx_core_module.html#worker_connections) that can be opened by each worker process.</span>
|
||
<span class="go">0 will use the value of [max-worker-open-files](#max-worker-open-files).</span>
|
||
<span class="go">_**default:**_ 16384</span>
|
||
|
||
<span class="go">!!! tip</span>
|
||
<span class="go"> Using 0 in scenarios of high load improves performance at the cost of increasing RAM utilization (even on idle).</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># max-worker-open-files</span>
|
||
|
||
<span class="go">Sets the [maximum number of files](http://nginx.org/en/docs/ngx_core_module.html#worker_rlimit_nofile) that can be opened by each worker process.</span>
|
||
<span class="go">The default of 0 means "max open files (system's limit) / [worker-processes](#worker-processes) - 1024".</span>
|
||
<span class="go">_**default:**_ 0</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># map-hash-bucket-size</span>
|
||
|
||
<span class="go">Sets the bucket size for the [map variables hash tables](http://nginx.org/en/docs/http/ngx_http_map_module.html#map_hash_bucket_size). The details of setting up hash tables are provided in a separate [document](http://nginx.org/en/docs/hash.html).</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># proxy-real-ip-cidr</span>
|
||
|
||
<span class="go">If use-proxy-protocol is enabled, proxy-real-ip-cidr defines the default the IP/network address of your external load balancer.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># proxy-set-headers</span>
|
||
|
||
<span class="go">Sets custom headers from named configmap before sending traffic to backends. The value format is namespace/name. See [example](https://github.com/kubernetes/ingress-nginx/tree/master/docs/examples/customization/custom-headers)</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># server-name-hash-max-size</span>
|
||
|
||
<span class="go">Sets the maximum size of the [server names hash tables](http://nginx.org/en/docs/http/ngx_http_core_module.html#server_names_hash_max_size) used in server names,map directive’s values, MIME types, names of request header strings, etc.</span>
|
||
|
||
<span class="go">_References:_</span>
|
||
<span class="go">[http://nginx.org/en/docs/hash.html](http://nginx.org/en/docs/hash.html)</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># server-name-hash-bucket-size</span>
|
||
|
||
<span class="go">Sets the size of the bucket for the server names hash tables.</span>
|
||
|
||
<span class="go">_References:_</span>
|
||
|
||
<span class="go">- [http://nginx.org/en/docs/hash.html](http://nginx.org/en/docs/hash.html)</span>
|
||
<span class="go">- [http://nginx.org/en/docs/http/ngx_http_core_module.html#server_names_hash_bucket_size](http://nginx.org/en/docs/http/ngx_http_core_module.html#server_names_hash_bucket_size)</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># proxy-headers-hash-max-size</span>
|
||
|
||
<span class="go">Sets the maximum size of the proxy headers hash tables.</span>
|
||
|
||
<span class="go">_References:_</span>
|
||
|
||
<span class="go">- [http://nginx.org/en/docs/hash.html](http://nginx.org/en/docs/hash.html)</span>
|
||
<span class="go">- [https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_headers_hash_max_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_headers_hash_max_size)</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># reuse-port</span>
|
||
|
||
<span class="go">Instructs NGINX to create an individual listening socket for each worker process (using the SO_REUSEPORT socket option), allowing a kernel to distribute incoming connections between worker processes</span>
|
||
<span class="go">_**default:**_ true</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># proxy-headers-hash-bucket-size</span>
|
||
|
||
<span class="go">Sets the size of the bucket for the proxy headers hash tables.</span>
|
||
|
||
<span class="go">_References:_</span>
|
||
|
||
<span class="go">- [http://nginx.org/en/docs/hash.html](http://nginx.org/en/docs/hash.html)</span>
|
||
<span class="go">- [https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_headers_hash_bucket_size](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_headers_hash_bucket_size)</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># server-tokens</span>
|
||
|
||
<span class="go">Send NGINX Server header in responses and display NGINX version in error pages. _**default:**_ is enabled</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># ssl-ciphers</span>
|
||
|
||
<span class="go">Sets the [ciphers](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ciphers) list to enable. The ciphers are specified in the format understood by the OpenSSL library.</span>
|
||
|
||
<span class="go">The default cipher list is:</span>
|
||
<span class="go"> `ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256`.</span>
|
||
|
||
<span class="go">The ordering of a ciphersuite is very important because it decides which algorithms are going to be selected in priority. The recommendation above prioritizes algorithms that provide perfect [forward secrecy](https://wiki.mozilla.org/Security/Server_Side_TLS#Forward_Secrecy).</span>
|
||
|
||
<span class="go">Please check the [Mozilla SSL Configuration Generator](https://mozilla.github.io/server-side-tls/ssl-config-generator/).</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># ssl-ecdh-curve</span>
|
||
|
||
<span class="go">Specifies a curve for ECDHE ciphers.</span>
|
||
|
||
<span class="go">_References:_</span>
|
||
<span class="gp">[http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ecdh_curve](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#</span>ssl_ecdh_curve<span class="o">)</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># ssl-dh-param</span>
|
||
|
||
<span class="go">Sets the name of the secret that contains Diffie-Hellman key to help with "Perfect Forward Secrecy".</span>
|
||
|
||
<span class="go">_References:_</span>
|
||
|
||
<span class="go">- [https://wiki.openssl.org/index.php/Diffie-Hellman_parameters](https://wiki.openssl.org/index.php/Diffie-Hellman_parameters)</span>
|
||
<span class="go">- [https://wiki.mozilla.org/Security/Server_Side_TLS#DHE_handshake_and_dhparam](https://wiki.mozilla.org/Security/Server_Side_TLS#DHE_handshake_and_dhparam)</span>
|
||
<span class="go">- [http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_dhparam](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_dhparam)</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># ssl-protocols</span>
|
||
|
||
<span class="go">Sets the [SSL protocols](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_protocols) to use. The default is: `TLSv1.2`.</span>
|
||
|
||
<span class="go">Please check the result of the configuration using `https://ssllabs.com/ssltest/analyze.html` or `https://testssl.sh`.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># ssl-early-data</span>
|
||
|
||
<span class="go">Enables or disables TLS 1.3 [early data](https://tools.ietf.org/html/rfc8446#section-2.3)</span>
|
||
|
||
<span class="go">This requires `ssl-protocols` to have `TLSv1.3` enabled.</span>
|
||
|
||
<span class="go">[ssl_early_data](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_early_data). The default is: `false`.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># ssl-session-cache</span>
|
||
|
||
<span class="go">Enables or disables the use of shared [SSL cache](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_cache) among worker processes.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># ssl-session-cache-size</span>
|
||
|
||
<span class="go">Sets the size of the [SSL shared session cache](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_cache) between all worker processes.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># ssl-session-tickets</span>
|
||
|
||
<span class="go">Enables or disables session resumption through [TLS session tickets](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_tickets).</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># ssl-session-ticket-key</span>
|
||
|
||
<span class="go">Sets the secret key used to encrypt and decrypt TLS session tickets. The value must be a valid base64 string.</span>
|
||
<span class="go">To create a ticket: `openssl rand 80 | openssl enc -A -base64`</span>
|
||
|
||
<span class="go">[TLS session ticket-key](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_tickets), by default, a randomly generated key is used.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># ssl-session-timeout</span>
|
||
|
||
<span class="go">Sets the time during which a client may [reuse the session](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_session_timeout) parameters stored in a cache.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># ssl-buffer-size</span>
|
||
|
||
<span class="go">Sets the size of the [SSL buffer](http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_buffer_size) used for sending data. The default of 4k helps NGINX to improve TLS Time To First Byte (TTTFB).</span>
|
||
|
||
<span class="go">_References:_</span>
|
||
<span class="go">[https://www.igvita.com/2013/12/16/optimizing-nginx-tls-time-to-first-byte/](https://www.igvita.com/2013/12/16/optimizing-nginx-tls-time-to-first-byte/)</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># use-proxy-protocol</span>
|
||
|
||
<span class="go">Enables or disables the [PROXY protocol](https://www.nginx.com/resources/admin-guide/proxy-protocol/) to receive client connection (real IP address) information passed through proxy servers and load balancers such as HAProxy and Amazon Elastic Load Balancer (ELB).</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># proxy-protocol-header-timeout</span>
|
||
|
||
<span class="go">Sets the timeout value for receiving the proxy-protocol headers. The default of 5 seconds prevents the TLS passthrough handler from waiting indefinitely on a dropped connection.</span>
|
||
<span class="go">_**default:**_ 5s</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># use-gzip</span>
|
||
|
||
<span class="go">Enables or disables compression of HTTP responses using the ["gzip" module](http://nginx.org/en/docs/http/ngx_http_gzip_module.html). MIME types to compress are controlled by [gzip-types](#gzip-types). _**default:**_ true</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># use-geoip</span>
|
||
|
||
<span class="go">Enables or disables ["geoip" module](http://nginx.org/en/docs/http/ngx_http_geoip_module.html) that creates variables with values depending on the client IP address, using the precompiled MaxMind databases.</span>
|
||
<span class="go">_**default:**_ true</span>
|
||
|
||
<span class="gp">></span> __Note:__ MaxMind legacy databases are discontinued and will not receive updates after <span class="m">2019</span>-01-02, cf. <span class="o">[</span>discontinuation notice<span class="o">](</span>https://support.maxmind.com/geolite-legacy-discontinuation-notice/<span class="o">)</span>. Consider <span class="o">[</span>use-geoip2<span class="o">](</span><span class="c1">#use-geoip2) below.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># use-geoip2</span>
|
||
|
||
<span class="go">Enables the [geoip2 module](https://github.com/leev/ngx_http_geoip2_module) for NGINX.</span>
|
||
<span class="go">_**default:**_ false</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># enable-brotli</span>
|
||
|
||
<span class="go">Enables or disables compression of HTTP responses using the ["brotli" module](https://github.com/google/ngx_brotli).</span>
|
||
<span class="go">The default mime type list to compress is: `application/xml+rss application/atom+xml application/javascript application/x-javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/plain text/x-component`. _**default:**_ is disabled</span>
|
||
|
||
<span class="gp">></span> __Note:__ Brotli does not works in Safari < <span class="m">11</span>. For more information see <span class="o">[</span>https://caniuse.com/#feat<span class="o">=</span>brotli<span class="o">](</span>https://caniuse.com/#feat<span class="o">=</span>brotli<span class="o">)</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># brotli-level</span>
|
||
|
||
<span class="go">Sets the Brotli Compression Level that will be used. _**default:**_ 4</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># brotli-types</span>
|
||
|
||
<span class="go">Sets the MIME Types that will be compressed on-the-fly by brotli.</span>
|
||
<span class="go">_**default:**_ `application/xml+rss application/atom+xml application/javascript application/x-javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/plain text/x-component`</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># use-http2</span>
|
||
|
||
<span class="go">Enables or disables [HTTP/2](http://nginx.org/en/docs/http/ngx_http_v2_module.html) support in secure connections.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># gzip-level</span>
|
||
|
||
<span class="go">Sets the gzip Compression Level that will be used. _**default:**_ 5</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># gzip-types</span>
|
||
|
||
<span class="go">Sets the MIME types in addition to "text/html" to compress. The special value "\*" matches any MIME type. Responses with the "text/html" type are always compressed if `[use-gzip](#use-gzip)` is enabled.</span>
|
||
<span class="go">_**default:**_ `application/atom+xml application/javascript application/x-javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/plain text/x-component`.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># worker-processes</span>
|
||
|
||
<span class="go">Sets the number of [worker processes](http://nginx.org/en/docs/ngx_core_module.html#worker_processes).</span>
|
||
<span class="go">The default of "auto" means number of available CPU cores.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># worker-cpu-affinity</span>
|
||
|
||
<span class="go">Binds worker processes to the sets of CPUs. [worker_cpu_affinity](http://nginx.org/en/docs/ngx_core_module.html#worker_cpu_affinity).</span>
|
||
<span class="go">By default worker processes are not bound to any specific CPUs. The value can be:</span>
|
||
|
||
<span class="go">- "": empty string indicate no affinity is applied.</span>
|
||
<span class="go">- cpumask: e.g. `0001 0010 0100 1000` to bind processes to specific cpus.</span>
|
||
<span class="go">- auto: binding worker processes automatically to available CPUs.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># worker-shutdown-timeout</span>
|
||
|
||
<span class="go">Sets a timeout for Nginx to [wait for worker to gracefully shutdown](http://nginx.org/en/docs/ngx_core_module.html#worker_shutdown_timeout). _**default:**_ "10s"</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># load-balance</span>
|
||
|
||
<span class="go">Sets the algorithm to use for load balancing.</span>
|
||
<span class="go">The value can either be:</span>
|
||
|
||
<span class="go">- round_robin: to use the default round robin loadbalancer</span>
|
||
<span class="go">- ewma: to use the Peak EWMA method for routing ([implementation](https://github.com/kubernetes/ingress-nginx/blob/master/rootfs/etc/nginx/lua/balancer/ewma.lua))</span>
|
||
|
||
<span class="go">The default is `round_robin`.</span>
|
||
|
||
<span class="go">- To load balance using consistent hashing of IP or other variables, consider the `nginx.ingress.kubernetes.io/upstream-hash-by` annotation.</span>
|
||
<span class="go">- To load balance using session cookies, consider the `nginx.ingress.kubernetes.io/affinity` annotation.</span>
|
||
|
||
<span class="go">_References:_</span>
|
||
<span class="go">[http://nginx.org/en/docs/http/load_balancing.html](http://nginx.org/en/docs/http/load_balancing.html)</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># variables-hash-bucket-size</span>
|
||
|
||
<span class="go">Sets the bucket size for the variables hash table.</span>
|
||
|
||
<span class="go">_References:_</span>
|
||
<span class="gp">[http://nginx.org/en/docs/http/ngx_http_map_module.html#variables_hash_bucket_size](http://nginx.org/en/docs/http/ngx_http_map_module.html#</span>variables_hash_bucket_size<span class="o">)</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># variables-hash-max-size</span>
|
||
|
||
<span class="go">Sets the maximum size of the variables hash table.</span>
|
||
|
||
<span class="go">_References:_</span>
|
||
<span class="gp">[http://nginx.org/en/docs/http/ngx_http_map_module.html#variables_hash_max_size](http://nginx.org/en/docs/http/ngx_http_map_module.html#</span>variables_hash_max_size<span class="o">)</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># upstream-keepalive-connections</span>
|
||
|
||
<span class="go">Activates the cache for connections to upstream servers. The connections parameter sets the maximum number of idle</span>
|
||
<span class="go">keepalive connections to upstream servers that are preserved in the cache of each worker process. When this number is</span>
|
||
<span class="go">exceeded, the least recently used connections are closed.</span>
|
||
<span class="go">_**default:**_ 32</span>
|
||
|
||
<span class="go">_References:_</span>
|
||
<span class="gp">[http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive](http://nginx.org/en/docs/http/ngx_http_upstream_module.html#</span>keepalive<span class="o">)</span>
|
||
|
||
|
||
<span class="gp">#</span><span class="c1"># upstream-keepalive-timeout</span>
|
||
|
||
<span class="go">Sets a timeout during which an idle keepalive connection to an upstream server will stay open.</span>
|
||
<span class="go"> _**default:**_ 60</span>
|
||
|
||
<span class="go">_References:_</span>
|
||
<span class="gp">[http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive_timeout](http://nginx.org/en/docs/http/ngx_http_upstream_module.html#</span>keepalive_timeout<span class="o">)</span>
|
||
|
||
|
||
<span class="gp">#</span><span class="c1"># upstream-keepalive-requests</span>
|
||
|
||
<span class="go">Sets the maximum number of requests that can be served through one keepalive connection. After the maximum number of</span>
|
||
<span class="go">requests is made, the connection is closed.</span>
|
||
<span class="go">_**default:**_ 100</span>
|
||
|
||
|
||
<span class="go">_References:_</span>
|
||
<span class="gp">[http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive_requests](http://nginx.org/en/docs/http/ngx_http_upstream_module.html#</span>keepalive_requests<span class="o">)</span>
|
||
|
||
|
||
<span class="gp">#</span><span class="c1"># limit-conn-zone-variable</span>
|
||
|
||
<span class="go">Sets parameters for a shared memory zone that will keep states for various keys of [limit_conn_zone](http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html#limit_conn_zone). The default of "$binary_remote_addr" variable’s size is always 4 bytes for IPv4 addresses or 16 bytes for IPv6 addresses.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># proxy-stream-timeout</span>
|
||
|
||
<span class="go">Sets the timeout between two successive read or write operations on client or proxied server connections. If no data is transmitted within this time, the connection is closed.</span>
|
||
|
||
<span class="go">_References:_</span>
|
||
<span class="gp">[http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_timeout](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#</span>proxy_timeout<span class="o">)</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># proxy-stream-responses</span>
|
||
|
||
<span class="go">Sets the number of datagrams expected from the proxied server in response to the client request if the UDP protocol is used.</span>
|
||
|
||
<span class="go">_References:_</span>
|
||
<span class="gp">[http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_responses](http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#</span>proxy_responses<span class="o">)</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># bind-address</span>
|
||
|
||
<span class="go">Sets the addresses on which the server will accept requests instead of *. It should be noted that these addresses must exist in the runtime environment or the controller will crash loop.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># use-forwarded-headers</span>
|
||
|
||
<span class="go">If true, NGINX passes the incoming `X-Forwarded-*` headers to upstreams. Use this option when NGINX is behind another L7 proxy / load balancer that is setting these headers.</span>
|
||
|
||
<span class="go">If false, NGINX ignores incoming `X-Forwarded-*` headers, filling them with the request information it sees. Use this option if NGINX is exposed directly to the internet, or it's behind a L3/packet-based load balancer that doesn't alter the source IP in the packets.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># forwarded-for-header</span>
|
||
|
||
<span class="go">Sets the header field for identifying the originating IP address of a client. _**default:**_ X-Forwarded-For</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># compute-full-forwarded-for</span>
|
||
|
||
<span class="go">Append the remote address to the X-Forwarded-For header instead of replacing it. When this option is enabled, the upstream application is responsible for extracting the client IP based on its own list of trusted proxies.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># proxy-add-original-uri-header</span>
|
||
|
||
<span class="go">Adds an X-Original-Uri header with the original request URI to the backend request</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># generate-request-id</span>
|
||
|
||
<span class="go">Ensures that X-Request-ID is defaulted to a random value, if no X-Request-ID is present in the request</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># enable-opentracing</span>
|
||
|
||
<span class="go">Enables the nginx Opentracing extension. _**default:**_ is disabled</span>
|
||
|
||
<span class="go">_References:_</span>
|
||
<span class="go">[https://github.com/opentracing-contrib/nginx-opentracing](https://github.com/opentracing-contrib/nginx-opentracing)</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># zipkin-collector-host</span>
|
||
|
||
<span class="go">Specifies the host to use when uploading traces. It must be a valid URL.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># zipkin-collector-port</span>
|
||
|
||
<span class="go">Specifies the port to use when uploading traces. _**default:**_ 9411</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># zipkin-service-name</span>
|
||
|
||
<span class="go">Specifies the service name to use for any traces created. _**default:**_ nginx</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># zipkin-sample-rate</span>
|
||
|
||
<span class="go">Specifies sample rate for any traces created. _**default:**_ 1.0</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># jaeger-collector-host</span>
|
||
|
||
<span class="go">Specifies the host to use when uploading traces. It must be a valid URL.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># jaeger-collector-port</span>
|
||
|
||
<span class="go">Specifies the port to use when uploading traces. _**default:**_ 6831</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># jaeger-service-name</span>
|
||
|
||
<span class="go">Specifies the service name to use for any traces created. _**default:**_ nginx</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># jaeger-sampler-type</span>
|
||
|
||
<span class="go">Specifies the sampler to be used when sampling traces. The available samplers are: const, probabilistic, ratelimiting, remote. _**default:**_ const</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># jaeger-sampler-param</span>
|
||
|
||
<span class="go">Specifies the argument to be passed to the sampler constructor. Must be a number.</span>
|
||
<span class="go">For const this should be 0 to never sample and 1 to always sample. _**default:**_ 1</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># jaeger-sampler-host</span>
|
||
|
||
<span class="go">Specifies the custom remote sampler host to be passed to the sampler constructor. Must be a valid URL.</span>
|
||
<span class="go">Leave blank to use default value (localhost). _**default:**_ http://127.0.0.1</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># jaeger-sampler-port</span>
|
||
|
||
<span class="go">Specifies the custom remote sampler port to be passed to the sampler constructor. Must be a number. _**default:**_ 5778</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># main-snippet</span>
|
||
|
||
<span class="go">Adds custom configuration to the main section of the nginx configuration.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># http-snippet</span>
|
||
|
||
<span class="go">Adds custom configuration to the http section of the nginx configuration.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># server-snippet</span>
|
||
|
||
<span class="go">Adds custom configuration to all the servers in the nginx configuration.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># location-snippet</span>
|
||
|
||
<span class="go">Adds custom configuration to all the locations in the nginx configuration.</span>
|
||
|
||
<span class="go">You can not use this to add new locations that proxy to the Kubernetes pods, as the snippet does not have access to the Go template functions. If you want to add custom locations you will have to [provide your own nginx.tmpl](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/custom-template/).</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># custom-http-errors</span>
|
||
|
||
<span class="go">Enables which HTTP codes should be passed for processing with the [error_page directive](http://nginx.org/en/docs/http/ngx_http_core_module.html#error_page)</span>
|
||
|
||
<span class="go">Setting at least one code also enables [proxy_intercept_errors](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_intercept_errors) which are required to process error_page.</span>
|
||
|
||
<span class="go">Example usage: `custom-http-errors: 404,415`</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># proxy-body-size</span>
|
||
|
||
<span class="go">Sets the maximum allowed size of the client request body.</span>
|
||
<span class="go">See NGINX [client_max_body_size](http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size).</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># proxy-connect-timeout</span>
|
||
|
||
<span class="go">Sets the timeout for [establishing a connection with a proxied server](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout). It should be noted that this timeout cannot usually exceed 75 seconds.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># proxy-read-timeout</span>
|
||
|
||
<span class="go">Sets the timeout in seconds for [reading a response from the proxied server](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeout). The timeout is set only between two successive read operations, not for the transmission of the whole response.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># proxy-send-timeout</span>
|
||
|
||
<span class="go">Sets the timeout in seconds for [transmitting a request to the proxied server](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_send_timeout). The timeout is set only between two successive write operations, not for the transmission of the whole request.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># proxy-buffers-number</span>
|
||
|
||
<span class="go">Sets the number of the buffer used for [reading the first part of the response](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers) received from the proxied server. This part usually contains a small response header.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># proxy-buffer-size</span>
|
||
|
||
<span class="go">Sets the size of the buffer used for [reading the first part of the response](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size) received from the proxied server. This part usually contains a small response header.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># proxy-cookie-path</span>
|
||
|
||
<span class="go">Sets a text that [should be changed in the path attribute](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_path) of the “Set-Cookie” header fields of a proxied server response.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># proxy-cookie-domain</span>
|
||
|
||
<span class="go">Sets a text that [should be changed in the domain attribute](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_domain) of the “Set-Cookie” header fields of a proxied server response.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># proxy-next-upstream</span>
|
||
|
||
<span class="go">Specifies in [which cases](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream) a request should be passed to the next server.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># proxy-next-upstream-timeout</span>
|
||
|
||
<span class="go">[Limits the time](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream_timeout) in seconds during which a request can be passed to the next server.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># proxy-next-upstream-tries</span>
|
||
|
||
<span class="go">Limit the number of [possible tries](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream_tries) a request should be passed to the next server.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># proxy-redirect-from</span>
|
||
|
||
<span class="go">Sets the original text that should be changed in the "Location" and "Refresh" header fields of a proxied server response. _**default:**_ off</span>
|
||
|
||
<span class="go">_References:_</span>
|
||
<span class="gp">[http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#</span>proxy_redirect<span class="o">)</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># proxy-request-buffering</span>
|
||
|
||
<span class="go">Enables or disables [buffering of a client request body](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_request_buffering).</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># ssl-redirect</span>
|
||
|
||
<span class="go">Sets the global value of redirects (301) to HTTPS if the server has a TLS certificate (defined in an Ingress rule).</span>
|
||
<span class="go">_**default:**_ "true"</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># whitelist-source-range</span>
|
||
|
||
<span class="go">Sets the default whitelisted IPs for each `server` block. This can be overwritten by an annotation on an Ingress rule.</span>
|
||
<span class="go">See [ngx_http_access_module](http://nginx.org/en/docs/http/ngx_http_access_module.html).</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># skip-access-log-urls</span>
|
||
|
||
<span class="go">Sets a list of URLs that should not appear in the NGINX access log. This is useful with urls like `/health` or `health-check` that make "complex" reading the logs. _**default:**_ is empty</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># limit-rate</span>
|
||
|
||
<span class="go">Limits the rate of response transmission to a client. The rate is specified in bytes per second. The zero value disables rate limiting. The limit is set per a request, and so if a client simultaneously opens two connections, the overall rate will be twice as much as the specified limit.</span>
|
||
|
||
<span class="go">_References:_</span>
|
||
<span class="gp">[http://nginx.org/en/docs/http/ngx_http_core_module.html#limit_rate](http://nginx.org/en/docs/http/ngx_http_core_module.html#</span>limit_rate<span class="o">)</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># limit-rate-after</span>
|
||
|
||
<span class="go">Sets the initial amount after which the further transmission of a response to a client will be rate limited.</span>
|
||
|
||
<span class="gp">#</span><span class="c1"># lua-shared-dicts</span>
|
||
|
||
<span class="go">Customize default Lua shared dictionaries or define more. You can use the following syntax to do so:</span>
|
||
</pre></div>
|
||
lua-shared-dicts: "<my dict name>: <my dict size>, [<my dict name>: <my dict size>], ..."
|
||
<div class="codehilite"><pre><span></span>For example following will set default `certificate_data` dictionary to `100M` and will introduce a new dictionary called
|
||
`my_custom_plugin`:
|
||
</pre></div>
|
||
lua-shared-dicts: "certificate_data: 100, my_custom_plugin: 5"
|
||
```</p>
|
||
<p><em>References:</em>
|
||
<a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#limit_rate_after">http://nginx.org/en/docs/http/ngx_http_core_module.html#limit_rate_after</a></p>
|
||
<h2 id="http-redirect-code">http-redirect-code<a class="headerlink" href="#http-redirect-code" title="Permanent link">¶</a></h2>
|
||
<p>Sets the HTTP status code to be used in redirects.
|
||
Supported codes are <a href="https://developer.mozilla.org/docs/Web/HTTP/Status/301">301</a>,<a href="https://developer.mozilla.org/docs/Web/HTTP/Status/302">302</a>,<a href="https://developer.mozilla.org/docs/Web/HTTP/Status/307">307</a> and <a href="https://developer.mozilla.org/docs/Web/HTTP/Status/308">308</a>
|
||
<em><strong>default:</strong></em> 308</p>
|
||
<blockquote>
|
||
<p><strong>Why the default code is 308?</strong></p>
|
||
<p><a href="https://tools.ietf.org/html/rfc7238">RFC 7238</a> was created to define the 308 (Permanent Redirect) status code that is similar to 301 (Moved Permanently) but it keeps the payload in the redirect. This is important if the we send a redirect in methods like POST.</p>
|
||
</blockquote>
|
||
<h2 id="proxy-buffering">proxy-buffering<a class="headerlink" href="#proxy-buffering" title="Permanent link">¶</a></h2>
|
||
<p>Enables or disables <a href="http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering">buffering of responses from the proxied server</a>.</p>
|
||
<h2 id="limit-req-status-code">limit-req-status-code<a class="headerlink" href="#limit-req-status-code" title="Permanent link">¶</a></h2>
|
||
<p>Sets the <a href="http://nginx.org/en/docs/http/ngx_http_limit_req_module.html#limit_req_status">status code to return in response to rejected requests</a>. <em><strong>default:</strong></em> 503</p>
|
||
<h2 id="limit-conn-status-code">limit-conn-status-code<a class="headerlink" href="#limit-conn-status-code" title="Permanent link">¶</a></h2>
|
||
<p>Sets the <a href="http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html#limit_conn_status">status code to return in response to rejected connections</a>. <em><strong>default:</strong></em> 503</p>
|
||
<h2 id="no-tls-redirect-locations">no-tls-redirect-locations<a class="headerlink" href="#no-tls-redirect-locations" title="Permanent link">¶</a></h2>
|
||
<p>A comma-separated list of locations on which http requests will never get redirected to their https counterpart.
|
||
<em><strong>default:</strong></em> "/.well-known/acme-challenge"</p>
|
||
<h2 id="global-auth-url">global-auth-url<a class="headerlink" href="#global-auth-url" title="Permanent link">¶</a></h2>
|
||
<p>A url to an existing service that provides authentication for all the locations.
|
||
Similar to the Ingress rule annotation <code class="codehilite">nginx.ingress.kubernetes.io/auth-url</code>.
|
||
Locations that should not get authenticated can be listed using <code class="codehilite">no-auth-locations</code> See <a href="#no-auth-locations">no-auth-locations</a>. In addition, each service can be excluded from authentication via annotation <code class="codehilite">enable-global-auth</code> set to "false".
|
||
<em><strong>default:</strong></em> ""</p>
|
||
<p><em>References:</em> <a href="https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md#external-authentication">https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md#external-authentication</a></p>
|
||
<h2 id="global-auth-method">global-auth-method<a class="headerlink" href="#global-auth-method" title="Permanent link">¶</a></h2>
|
||
<p>A HTTP method to use for an existing service that provides authentication for all the locations.
|
||
Similar to the Ingress rule annotation <code class="codehilite">nginx.ingress.kubernetes.io/auth-method</code>.
|
||
<em><strong>default:</strong></em> ""</p>
|
||
<h2 id="global-auth-signin">global-auth-signin<a class="headerlink" href="#global-auth-signin" title="Permanent link">¶</a></h2>
|
||
<p>Sets the location of the error page for an existing service that provides authentication for all the locations.
|
||
Similar to the Ingress rule annotation <code class="codehilite">nginx.ingress.kubernetes.io/auth-signin</code>.
|
||
<em><strong>default:</strong></em> ""</p>
|
||
<h2 id="global-auth-response-headers">global-auth-response-headers<a class="headerlink" href="#global-auth-response-headers" title="Permanent link">¶</a></h2>
|
||
<p>Sets the headers to pass to backend once authentication request completes. Applied to all the locations.
|
||
Similar to the Ingress rule annotation <code class="codehilite">nginx.ingress.kubernetes.io/auth-response-headers</code>.
|
||
<em><strong>default:</strong></em> ""</p>
|
||
<h2 id="global-auth-request-redirect">global-auth-request-redirect<a class="headerlink" href="#global-auth-request-redirect" title="Permanent link">¶</a></h2>
|
||
<p>Sets the X-Auth-Request-Redirect header value. Applied to all the locations.
|
||
Similar to the Ingress rule annotation <code class="codehilite">nginx.ingress.kubernetes.io/auth-request-redirect</code>.
|
||
<em><strong>default:</strong></em> ""</p>
|
||
<h2 id="global-auth-snippet">global-auth-snippet<a class="headerlink" href="#global-auth-snippet" title="Permanent link">¶</a></h2>
|
||
<p>Sets a custom snippet to use with external authentication. Applied to all the locations.
|
||
Similar to the Ingress rule annotation <code class="codehilite">nginx.ingress.kubernetes.io/auth-request-redirect</code>.
|
||
<em><strong>default:</strong></em> ""</p>
|
||
<h2 id="global-auth-cache-key">global-auth-cache-key<a class="headerlink" href="#global-auth-cache-key" title="Permanent link">¶</a></h2>
|
||
<p>Enables caching for global auth requests. Specify a lookup key for auth responses, e.g. <code class="codehilite">$remote_user$http_authorization</code>.</p>
|
||
<h2 id="global-auth-cache-duration">global-auth-cache-duration<a class="headerlink" href="#global-auth-cache-duration" title="Permanent link">¶</a></h2>
|
||
<p>Set a caching time for auth responses based on their response codes, e.g. <code class="codehilite">200 202 30m</code>. See <a href="http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_valid">proxy_cache_valid</a> for details. You may specify multiple, comma-separated values: <code class="codehilite">200 202 10m, 401 5m</code>. defaults to <code class="codehilite">200 202 401 5m</code>.</p>
|
||
<h2 id="no-auth-locations">no-auth-locations<a class="headerlink" href="#no-auth-locations" title="Permanent link">¶</a></h2>
|
||
<p>A comma-separated list of locations that should not get authenticated.
|
||
<em><strong>default:</strong></em> "/.well-known/acme-challenge"</p>
|
||
<h2 id="block-cidrs">block-cidrs<a class="headerlink" href="#block-cidrs" title="Permanent link">¶</a></h2>
|
||
<p>A comma-separated list of IP addresses (or subnets), request from which have to be blocked globally.</p>
|
||
<p><em>References:</em>
|
||
<a href="http://nginx.org/en/docs/http/ngx_http_access_module.html#deny">http://nginx.org/en/docs/http/ngx_http_access_module.html#deny</a></p>
|
||
<h2 id="block-user-agents">block-user-agents<a class="headerlink" href="#block-user-agents" title="Permanent link">¶</a></h2>
|
||
<p>A comma-separated list of User-Agent, request from which have to be blocked globally.
|
||
It's possible to use here full strings and regular expressions. More details about valid patterns can be found at <code class="codehilite">map</code> Nginx directive documentation.</p>
|
||
<p><em>References:</em>
|
||
<a href="http://nginx.org/en/docs/http/ngx_http_map_module.html#map">http://nginx.org/en/docs/http/ngx_http_map_module.html#map</a></p>
|
||
<h2 id="block-referers">block-referers<a class="headerlink" href="#block-referers" title="Permanent link">¶</a></h2>
|
||
<p>A comma-separated list of Referers, request from which have to be blocked globally.
|
||
It's possible to use here full strings and regular expressions. More details about valid patterns can be found at <code class="codehilite">map</code> Nginx directive documentation.</p>
|
||
<p><em>References:</em>
|
||
<a href="http://nginx.org/en/docs/http/ngx_http_map_module.html#map">http://nginx.org/en/docs/http/ngx_http_map_module.html#map</a></p>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</article>
|
||
</div>
|
||
</div>
|
||
</main>
|
||
|
||
|
||
<footer class="md-footer">
|
||
|
||
<div class="md-footer-nav">
|
||
<nav class="md-footer-nav__inner md-grid">
|
||
|
||
<a href="../annotations/" title="Annotations" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
|
||
<div class="md-flex__cell md-flex__cell--shrink">
|
||
<i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
|
||
</div>
|
||
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
|
||
<span class="md-flex__ellipsis">
|
||
<span class="md-footer-nav__direction">
|
||
Previous
|
||
</span>
|
||
Annotations
|
||
</span>
|
||
</div>
|
||
</a>
|
||
|
||
|
||
<a href="../custom-template/" title="Custom NGINX template" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
|
||
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
|
||
<span class="md-flex__ellipsis">
|
||
<span class="md-footer-nav__direction">
|
||
Next
|
||
</span>
|
||
Custom NGINX template
|
||
</span>
|
||
</div>
|
||
<div class="md-flex__cell md-flex__cell--shrink">
|
||
<i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
|
||
</div>
|
||
</a>
|
||
|
||
</nav>
|
||
</div>
|
||
|
||
<div class="md-footer-meta md-typeset">
|
||
<div class="md-footer-meta__inner md-grid">
|
||
<div class="md-footer-copyright">
|
||
|
||
powered by
|
||
<a href="https://www.mkdocs.org">MkDocs</a>
|
||
and
|
||
<a href="https://squidfunk.github.io/mkdocs-material/">
|
||
Material for MkDocs</a>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
</div>
|
||
|
||
<script src="../../../assets/javascripts/application.c648116f.js"></script>
|
||
|
||
<script>app.initialize({version:"1.0.4",url:{base:"../../.."}})</script>
|
||
|
||
|
||
</body>
|
||
</html> |