Настройка ANIC#

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

Пример ConfigMap#
$ 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 ресурса. Имеет приоритет над аргументом командной строки -external-service.

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

Примечание

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

Параметр

Описание

Умолчание

proxy-connect-timeout

Задает значение proxy_connect_timeout и grpc_connect_timeout.

60s

proxy-read-timeout

Задает значение proxy_read_timeout и grpc_read_timeout

60s

proxy-send-timeout

Задает значение proxy_send_timeout и grpc_send_timeout

60s

client-max-body-size

Задает значение client_max_body_size

1m

proxy-buffering

Включает или отключает буферизацию ответов от проксируемого сервера

True

proxy-buffers

Задает значение proxy_buffers

Зависит от платформы

proxy-buffer-size

Задает значение proxy_buffer_size и grpc_buffer_size

Зависит от платформы

proxy-max-temp-file-size

Задает значение proxy_max_temp_file_size

1024m

set-real-ip-from

Задает значение set_real_ip_from

Нет

real-ip-header

Задает значение real_ip_header

X-Real-IP

real-ip-recursive

Включает или отключает real_ip_recursive

False

default-server-return

Настраивает ответ в сервере по умолчанию, который перехватывает клиентский запрос, если для запроса не был определен ресурс Ingress или VirtualServer. Можно установить фиксированный ответ или перенаправление запроса.

Страница с ошибкой HTTP 404

server-tokens

Включает или отключает server_tokens

True

worker-processes

Задает значение worker_processes

auto

worker-rlimit-nofile

Задает значение worker_rlimit_nofile

Нет

worker-connections

Задает значение worker_connections

1024

worker-cpu-affinity

Задает значение worker_cpu_affinity

Нет

worker-shutdown-timeout

Задает значение worker_shutdown_timeout

Нет

server-names-hash-bucket-size

Задает значение server_names_hash_bucket_size

256

server-names-hash-max-size

Задает значение server_names_hash_max_size

1024

map-hash-bucket-size

Задает значение map_hash_bucket_size

256

map-hash-max-size

Задает значение map_hash_max_size

2048

resolver-addresses

Задает значение DNS resolver’a

Нет

resolver-ipv6

Разрешает или запрещает поиск IPv6-адресов

True

resolver-valid

Позволяет переопределить срок кэширования DNS-записей

Нет

resolver-timeout

Задает значение resolver_timeout

30s

keepalive-timeout

Задает значение keepalive_timeout

65s

keepalive-requests

Задает значение keepalive_requests

100

variables-hash-bucket-size

Задает значение variables_hash_bucket_size

256

variables-hash-max-size

Задает значение variables_hash_max_size

1024

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

Параметр

Описание

Умолчание

error-log-level

Определяет глобальное значение уровня error_log и может принимать одно из следующих значений: debug, info, notice, warn, error, crit, alert или emerg

notice

access-log-off

Отключает access_log

False

default-server-access-log-off

Отключает access_log для сервиса по умолчанию

False

log-format

Задает общий формат журнала. Для удобства можно использовать несколько строк, разделенных n. В этом случае каждый перевод строки будет заменен на пробел. Все символы ' должны быть экранированы

Нет

log-format-escaping

Позволяет задать экранирование символов json или default в переменных; по умолчанию используется default. Значение none отключает экранирование

default

stream-log-format

Задает формат журнала stream для сквозного трафика TCP, UDP и TLS. Для удобства можно использовать несколько строк, разделенных n. В этом случае каждый перевод строки будет заменен на пробел. Все символы ' должны быть экранированы

Нет

stream-log-format-escaping

Позволяет задать экранирование символов json или default в переменных; по умолчанию используется default. Значение none отключает экранирование

default

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

proxy-hide-headers

Значение одного proxy_hide_header или нескольких

proxy-pass-headers

Значение одного proxy_pass_header или нескольких

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

Параметр

Описание

Умолчание

redirect-to-https

Задает правило 301 redirect в зависимости от заголовка http_x_forwarded_proto

False

ssl-redirect

Задает правило 301 redirect для всего входящего HTTP-трафика, чтобы перевести запросы в HTTPS

True

ssl-protocols

Задает значение ssl_protocols

TLSv1 TLSv1.1 TLSv1.2

ssl-prefer-server-ciphers

Включает или отключает ssl_prefer_server_ciphers

False

ssl-ciphers

Задает значение ssl_ciphers

HIGH:!aNULL:!MD5

ssl-dhparam-file

Указывает файл с параметрами для DHE-шифров

Нет

Протоколы#

Параметр

Описание

Умолчание

http2

Включает поддержку протокола HTTP/2

False

proxy-protocol

Указывает, что все соединения, принимаемые на данном слушающем сокете, должны использовать протокол PROXY

False

Апстримы#

Параметр

Описание

Умолчание

max-fails

Задает значение max_fails для сервера

1

upstream-zone-size

Задает имя и размер зоны разделяемой памяти

Нет

fail-timeout

Задает значение fail_timeout для сервера

10s

keepalive

Задействует кэш соединений для группы серверов апстрима

Нет

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

main-snippets

Вставляет собственный фрагмент конфигурации в контекст main

http-snippets

Вставляет собственный фрагмент конфигурации в контекст http

location-snippets

Вставляет собственный фрагмент конфигурации в контекст location

server-snippets

Вставляет собственный фрагмент конфигурации в контекст server

stream-snippets

Вставляет собственный фрагмент конфигурации в контекст main

main-template

Определяет основной шаблон для основных настроек Angie. По умолчанию шаблон считывается из файла в контейнере

ingress-template

Определяет шаблон настроек для ресурса Ingress. По умолчанию шаблон считывается из файла в контейнере

virtualserver-template

Определяет шаблон настроек для ресурса VirtualServer. По умолчанию шаблон считывается из файла в контейнере