<a id="anic-config"></a>

# Настройка ANIC

Здесь приведены параметры настройки ANIC. ANIC настраивается путем изменения параметров `ConfigMap` и `Annotation`.

```yaml
$ kubectl apply -f - <<EOF
kind: ConfigMap
apiVersion: v1
metadata:
  name: angie-config
  namespace: angie-ingress
data:
  proxy-connect-timeout: "10s"
   proxy-read-timeout: "10s"
   client-max-body-size: "2m"
EOF
```

## Параметры `Ingress Controller`

| `external-status-address`   | Задает адрес, который выводится в статусе Ingress ресурса.<br/>Имеет приоритет над аргументом командной строки `-external-service`.   |
|-----------------------------|---------------------------------------------------------------------------------------------------------------------------------------|

## Общие параметры

#### NOTE
Для всех параметров типа `boolean` допустимы пары значений `true`/`false`, `t`/`f`, `on`/`off` и
`1`/`0`. Регистр не имеет значения.

| Параметр                        | Описание                                                                                                                                                                                                                                                              | Умолчание                   |
|---------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------|
| `proxy-connect-timeout`         | Задает значение [proxy_connect_timeout](https://angie.software//angie/docs/configuration/modules/http/http_proxy.md#proxy-connect-timeout) и [grpc_connect_timeout](https://angie.software//angie/docs/configuration/modules/http/http_grpc.md#grpc-connect-timeout). | `60s`                       |
| `proxy-read-timeout`            | Задает значение [proxy_read_timeout](https://angie.software//angie/docs/configuration/modules/http/http_proxy.md#proxy-read-timeout) и [grpc_read_timeout](https://angie.software//angie/docs/configuration/modules/http/http_grpc.md#grpc-read-timeout)              | `60s`                       |
| `proxy-send-timeout`            | Задает значение [proxy_send_timeout](https://angie.software//angie/docs/configuration/modules/http/http_proxy.md#proxy-send-timeout) и [grpc_send_timeout](https://angie.software//angie/docs/configuration/modules/http/http_grpc.md#grpc-send-timeout)              | `60s`                       |
| `client-max-body-size`          | Задает значение [client_max_body_size](https://angie.software//angie/docs/configuration/modules/http/index.md#client-max-body-size)                                                                                                                                   | `1m`                        |
| `proxy-buffering`               | Включает или отключает [буферизацию ответов](https://angie.software//angie/docs/configuration/modules/http/http_proxy.md#proxy-buffering) от проксируемого сервера                                                                                                    | `True`                      |
| `proxy-buffers`                 | Задает значение [proxy_buffers](https://angie.software//angie/docs/configuration/modules/http/http_proxy.md#proxy-buffers)                                                                                                                                            | Зависит от платформы        |
| `proxy-buffer-size`             | Задает значение [proxy_buffer_size](https://angie.software//angie/docs/configuration/modules/http/http_proxy.md#proxy-buffer-size) и [grpc_buffer_size](https://angie.software//angie/docs/configuration/modules/http/http_grpc.md#grpc-buffer-size)                  | Зависит от платформы        |
| `proxy-max-temp-file-size`      | Задает значение [proxy_max_temp_file_size](https://angie.software//angie/docs/configuration/modules/http/http_proxy.md#proxy-max-temp-file-size)                                                                                                                      | `1024m`                     |
| `set-real-ip-from`              | Задает значение [set_real_ip_from](https://angie.software//angie/docs/configuration/modules/http/http_realip.md#set-real-ip-from)                                                                                                                                     | Нет                         |
| `real-ip-header`                | Задает значение [real_ip_header](https://angie.software//angie/docs/configuration/modules/http/http_realip.md#real-ip-header)                                                                                                                                         | `X-Real-IP`                 |
| `real-ip-recursive`             | Включает или отключает [real_ip_recursive](https://angie.software//angie/docs/configuration/modules/http/http_realip.md#real-ip-recursive)                                                                                                                            | `False`                     |
| `default-server-return`         | Настраивает ответ в сервере по умолчанию, который перехватывает<br/>клиентский запрос, если для запроса не был определен ресурс `Ingress`<br/>или `VirtualServer`. Можно установить фиксированный ответ или<br/>перенаправление запроса.                              | Страница с ошибкой HTTP 404 |
| `server-tokens`                 | Включает или отключает [server_tokens](https://angie.software//angie/docs/configuration/modules/http/index.md#server-tokens)                                                                                                                                          | `True`                      |
| `worker-processes`              | Задает значение [worker_processes](https://angie.software//angie/docs/configuration/modules/core.md#worker-processes)                                                                                                                                                 | `auto`                      |
| `worker-rlimit-nofile`          | Задает значение [worker_rlimit_nofile](https://angie.software//angie/docs/configuration/modules/core.md#worker-rlimit-nofile)                                                                                                                                         | Нет                         |
| `worker-connections`            | Задает значение [worker_connections](https://angie.software//angie/docs/configuration/modules/core.md#worker-connections)                                                                                                                                             | `1024`                      |
| `worker-cpu-affinity`           | Задает значение [worker_cpu_affinity](https://angie.software//angie/docs/configuration/modules/core.md#worker-cpu-affinity)                                                                                                                                           | Нет                         |
| `worker-shutdown-timeout`       | Задает значение [worker_shutdown_timeout](https://angie.software//angie/docs/configuration/modules/core.md#worker-shutdown-timeout)                                                                                                                                   | Нет                         |
| `server-names-hash-bucket-size` | Задает значение [server_names_hash_bucket_size](https://angie.software//angie/docs/configuration/modules/http/index.md#server-names-hash-bucket-size)                                                                                                                 | `256`                       |
| `server-names-hash-max-size`    | Задает значение [server_names_hash_max_size](https://angie.software//angie/docs/configuration/modules/http/index.md#server-names-hash-max-size)                                                                                                                       | `1024`                      |
| `map-hash-bucket-size`          | Задает значение [map_hash_bucket_size](https://angie.software//angie/docs/configuration/modules/http/http_map.md#map-hash-bucket-size)                                                                                                                                | `256`                       |
| `map-hash-max-size`             | Задает значение [map_hash_max_size](https://angie.software//angie/docs/configuration/modules/http/http_map.md#map-hash-max-size)                                                                                                                                      | `2048`                      |
| `resolver-addresses`            | Задает значение DNS [resolver](https://angie.software//angie/docs/configuration/modules/http/index.md#resolver)                                                                                                                                                       | Нет                         |
| `resolver-ipv6`                 | Разрешает или запрещает поиск IPv6-адресов                                                                                                                                                                                                                            | `True`                      |
| `resolver-valid`                | Позволяет переопределить срок кэширования DNS-записей                                                                                                                                                                                                                 | Нет                         |
| `resolver-timeout`              | Задает значение [resolver_timeout](https://angie.software//angie/docs/configuration/modules/http/index.md#resolver-timeout)                                                                                                                                           | `30s`                       |
| `keepalive-timeout`             | Задает значение [keepalive_timeout](https://angie.software//angie/docs/configuration/modules/http/index.md#keepalive-timeout)                                                                                                                                         | `65s`                       |
| `keepalive-requests`            | Задает значение [keepalive_requests](https://angie.software//angie/docs/configuration/modules/http/index.md#keepalive-requests)                                                                                                                                       | `100`                       |
| `variables-hash-bucket-size`    | Задает значение [variables_hash_bucket_size](https://angie.software//angie/docs/configuration/modules/http/index.md#variables-hash-bucket-size)                                                                                                                       | `256`                       |
| `variables-hash-max-size`       | Задает значение [variables_hash_max_size](https://angie.software//angie/docs/configuration/modules/http/index.md#variables-hash-max-size)                                                                                                                             | `1024`                      |

## Параметры ведения журнала

| Параметр                        | Описание                                                                                                                                                                                                                                                                                                                                             | Умолчание   |
|---------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------|
| `error-log-level`               | Определяет глобальное значение уровня [error_log](https://angie.software//angie/docs/configuration/modules/core.md#error-log) и может принимать одно из следующих значений:<br/>debug, info, notice, warn, error, crit, alert или emerg                                                                                                              | `notice`    |
| `access-log-off`                | Отключает [access_log](https://angie.software//angie/docs/configuration/modules/http/http_log.md#access-log)                                                                                                                                                                                                                                         | `False`     |
| `default-server-access-log-off` | Отключает [access_log](https://angie.software//angie/docs/configuration/modules/http/http_log.md#access-log) для сервиса по<br/>умолчанию                                                                                                                                                                                                            | `False`     |
| `log-format`                    | Задает [общий формат журнала](https://angie.software//angie/docs/configuration/modules/http/http_log.md#log-format). Для<br/>удобства можно использовать несколько строк, разделенных `n`. В этом<br/>случае каждый перевод строки будет заменен на пробел. Все символы `'`<br/>должны быть экранированы                                             | Нет         |
| `log-format-escaping`           | Позволяет задать [экранирование символов](https://angie.software//angie/docs/configuration/modules/http/http_log.md#log-format)<br/>`json` или `default` в переменных; по умолчанию используется<br/>`default`. Значение `none` отключает экранирование                                                                                              | `default`   |
| `stream-log-format`             | Задает [формат журнала stream](https://angie.software//angie/docs/configuration/modules/stream/stream_log.md#s-log-format) для<br/>сквозного трафика TCP, UDP и TLS. Для удобства можно использовать<br/>несколько строк, разделенных `n`. В этом случае каждый перевод строки<br/>будет заменен на пробел. Все символы `'` должны быть экранированы | Нет         |
| `stream-log-format-escaping`    | Позволяет задать [экранирование символов](https://angie.software//angie/docs/configuration/modules/stream/stream_log.md#s-log-format) `json` или `default` в переменных; по<br/>умолчанию используется `default`. Значение `none` отключает<br/>экранирование                                                                                        | `default`   |

## Управление URI и заголовками в запросах

| `proxy-hide-headers`   | Значение одного [proxy_hide_header](https://angie.software//angie/docs/configuration/modules/http/http_proxy.md#proxy-hide-header) или нескольких         |
|------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------|
| `proxy-pass-headers`   | Значение одного<br/>[proxy_pass_header](https://angie.software//angie/docs/configuration/modules/http/http_proxy.md#proxy-pass-header)<br/>или нескольких |

## Авторизация и SSL/TLS

| Параметр                    | Описание                                                                                                                                                | Умолчание               |
|-----------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|
| `redirect-to-https`         | Задает правило 301 redirect в зависимости от заголовка<br/>http_x_forwarded_proto                                                                       | `False`                 |
| `ssl-redirect`              | Задает правило 301 redirect для всего входящего HTTP-трафика, чтобы<br/>перевести запросы в HTTPS                                                       | `True`                  |
| `ssl-protocols`             | Задает значение [ssl_protocols](https://angie.software//angie/docs/configuration/modules/http/http_ssl.md#ssl-protocols)                                | `TLSv1 TLSv1.1 TLSv1.2` |
| `ssl-prefer-server-ciphers` | Включает или отключает [ssl_prefer_server_ciphers](https://angie.software//angie/docs/configuration/modules/http/http_ssl.md#ssl-prefer-server-ciphers) | `False`                 |
| `ssl-ciphers`               | Задает значение [ssl_ciphers](https://angie.software//angie/docs/configuration/modules/http/http_ssl.md#ssl-ciphers)                                    | `HIGH:!aNULL:!MD5`      |
| `ssl-dhparam-file`          | Указывает [файл с параметрами для DHE-шифров](https://angie.software//angie/docs/configuration/modules/http/http_ssl.md#ssl-dhparam)                    | Нет                     |

## Протоколы

| Параметр         | Описание                                                                                                                                                                                                 | Умолчание   |
|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------|
| `http2`          | Включает поддержку [протокола](https://angie.software//angie/docs/configuration/modules/http/index.md#listen-protocols)<br/>HTTP/2                                                                       | `False`     |
| `proxy-protocol` | Указывает, что все соединения, принимаемые на данном слушающем<br/>сокете, должны использовать [протокол](https://angie.software//angie/docs/configuration/modules/http/index.md#listen-protocols) PROXY | `False`     |

## Апстримы

| Параметр             | Описание                                                                                                                                                  | Умолчание   |
|----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------|-------------|
| `max-fails`          | Задает значение `max_fails` для<br/>[сервера](https://angie.software//angie/docs/configuration/modules/http/http_upstream.md#u-server)                    | `1`         |
| `upstream-zone-size` | Задает имя и размер [зоны разделяемой памяти](https://angie.software//angie/docs/configuration/modules/http/http_upstream.md#u-zone)                      | Нет         |
| `fail-timeout`       | Задает значение `fail_timeout` для<br/>[сервера](https://angie.software//angie/docs/configuration/modules/http/http_upstream.md#u-server)                 | `10s`       |
| `keepalive`          | Задействует [кэш соединений](https://angie.software//angie/docs/configuration/modules/http/http_upstream.md#u-keepalive) для<br/>группы серверов апстрима | Нет         |

## Настраиваемые шаблоны

| `main-snippets`          | Вставляет собственный фрагмент конфигурации в контекст [main](https://angie.software//angie/docs/configuration/configfile.md#configfile)                                                                                                                            |
|--------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `http-snippets`          | Вставляет собственный фрагмент конфигурации в контекст [http](https://angie.software//angie/docs/configuration/configfile.md#configfile)                                                                                                                            |
| `location-snippets`      | Вставляет собственный фрагмент конфигурации в контекст [location](https://angie.software//angie/docs/configuration/configfile.md#configfile)                                                                                                                        |
| `server-snippets`        | Вставляет собственный фрагмент конфигурации в контекст [server](https://angie.software//angie/docs/configuration/configfile.md#configfile)                                                                                                                          |
| `stream-snippets`        | Вставляет собственный фрагмент конфигурации в контекст [main](https://angie.software//angie/docs/configuration/configfile.md#configfile)                                                                                                                            |
| `main-template`          | Определяет основной шаблон для основных настроек Angie. По умолчанию<br/>шаблон считывается из файла в контейнере                                                                                                                                                   |
| `ingress-template`       | Определяет шаблон настроек для ресурса Ingress. По умолчанию<br/>шаблон считывается из файла в контейнере                                                                                                                                                           |
| `virtualserver-template` | Определяет шаблон настроек для ресурса [VirtualServer](https://angie.software//anic/docs/configuration/virtualserver-and-virtualserverroute-resources.md#virtualserver-and-virtualserverroute-resources). По умолчанию шаблон<br/>считывается из файла в контейнере |
