hoall.nginx-proxy

Роль nginx-proxy

Эта роль устанавливает nginx в качестве прокси-сервера. Настройки предназначены только для использования с https. Убедитесь, что вы настроили свой SSL-сертификат. Параметр dhparam будет заменен на новую сгенерированную версию. Генерация происходит во время установки. Роль также устанавливает некоторые полезные значения по умолчанию для прокси-серверов.

Уровень безопасности — современный согласно определению фонда Mozilla (см. их генератор для получения дополнительной информации https://mozilla.github.io/server-side-tls/ssl-config-generator/). Конфигурация должна подходить для большинства систем. Я создал шаблоны, используя Ubuntu 16.04. HSTS включен. Конфигурация получает оценку A+ от ssllabs.com.

Сайт по умолчанию сопоставлен с /. Я создал и использую эту роль, чтобы абстрагировать и защитить соединение с моим серверами Tomcat.

Если у вас есть улучшения, создайте запрос на внесение изменений.

Требования

SSL-сертификат и openssl (для dhparam). Если вы ищете хорошую роль, я рекомендую взглянуть на geerlingguy.certbot.

Переменные роли

ПРИМЕЧАНИЕ: переменные, которые нужно переопределить, написаны ЗАГЛАВНЫМИ БУКВАМИ.

Название Значение по умолчанию Описание
NP_SERVER_NAME NONE 'Строка, содержащая имена, на которые сервер (и местоположение) должен слушать. Например: "example.com www.example.com"'
NP_SSL_CERTIFICATE NONE 'Путь к вашему SSL-сертификату (fullchain.pem). Например: /etc/letsencrypt/live/example.de/fullchain.pem'
NP_SSL_CERTIFICATE_KEY NONE 'Путь к вашему приватному ключу SSL-сертификата (privkey.pem). Например: /etc/letsencrypt/live/example.de/privkey.pem'
NP_PROXY_PASS NONE 'Путь к местоположению. Например: "http://127.0.0.1:8080/example/"'
NP_REWRITE NONE 'Правило переписывания для сайта. Например: "^/example(.*)$ $1 last"'
np_worker_processes {{ ansible_processor_count }} 'Количество рабочих процессов, которые должен использовать nginx. По умолчанию это один на ядро, определяется настройкой ansible.'
np_worker_connections 1024 'Количество соединений для каждого рабочего процесса (включая соединения с серверами на заднем плане). Имейте в виду, что браузер открывает более одного соединения для увеличения скорости.'
np_keep_alive_timeout 15 'Тайм-аут для неактивного клиентского соединения в секундах.'
np_client_max_body_size 10m 'Устанавливает максимальный допустимый размер тела клиентского запроса, указанный в заголовке "Content-Length".'
np_client_body_buffer_size 10k 'Устанавливает размер буфера для чтения тела клиентского запроса.'
np_proxy_connect_timeout 10 'Определяет тайм-аут для установления соединения с проксируемым сервером. Следует отметить, что этот тайм-аут обычно не должен превышать 75 секунд.'
np_proxy_send_timeout 10 'Устанавливает тайм-аут (в секундах) для передачи запроса на проксируемый сервер.'
np_proxy_read_timeout 10 'Определяет тайм-аут (в секундах) для чтения ответа от проксируемого сервера.'
np_proxy_buffers "32 8k" 'Устанавливает размер буфера, используемого для чтения первой части ответа, полученного от проксируемого сервера. Эта часть обычно содержит небольшой заголовок ответа. По умолчанию размер буфера равен одной странице памяти. Это либо 4K, либо 8K, в зависимости от платформы. Тем не менее, его можно сделать меньше.'

Примечание: части этой документации взяты из официальной документации nginx (https://nginx.org/en/docs/). Исходные материалы и документация распространяются по лицензии, подобной лицензии BSD с двумя пунктами.

Измените переменные в соответствии с вашими потребностями.

Зависимости

Пример Playbook

- hosts: servers
  roles:
     - { role: hoall.nginx-proxy, NP_SERVER_NAME: "example.com www.example.com", NP_SSL_CERTIFICATE: /etc/letsencrypt/live/fullchain.pem, NP_SSL_CERTIFICATE_KEY: /etc/letsencrypt/live/privkey.pem }

Лицензия

BSD

Информация об авторе

Феликс Паетов fhmpaetow@fsfe.org

О проекте

Installation, configuration and hardening of a nginx proxy with one website.

Установить
ansible-galaxy install hoall.nginx-proxy
Лицензия
bsd-2-clause
Загрузки
118
Владелец