simple_nginx_reverse_proxy

Ansible роль для простой установки nginx в режиме обратного прокси

molecule

Эта роль устанавливает nginx в качестве простого обратного прокси-сервера.

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

Для полного обзора вариантов конфигурации смотрите defaults.

Конфигурация Прокси

Эта роль идет с настройками по умолчанию, которые автоматически перенаправляют на HTTPS и позволяют вам указать простой блок для конфигурации Nginx:

nginx_proxy: |
  location / {
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $scheme;
    proxy_pass              http://127.0.0.1:8080;
  }

TLS Сертификаты

Конфигурация по умолчанию предоставляет простые, самоподписанные сертификаты, если таковые отсутствуют. Пожалуйста, убедитесь, что вы заменили их на свои собственные сертификаты. Просто перезапишите следующие файлы:

  • /etc/nginx/tls/certificate.key;
  • /etc/nginx/tls/certificate.crt;

Расширенная Конфигурация

Вы можете установить опцию nginx_config, чтобы перезаписать конфигурацию по умолчанию и указать собственные файлы конфигурации. Укажите список полей src и dest, указывая шаблоны для развертывания. Поле dest всегда указывает на местоположение относительно /etc/nginx/:

roles:
  - role: elan.simple_nginx_reverse_proxy
    nginx_config:
      - src: nginx.conf
        dest: nginx.conf

Учтите, что роль включает шаблон nginx.conf. Указание src: nginx.conf всегда будет использовать включенный шаблон.

Настройки, Связанные с Безопасностью

Эта роль может открывать порты для Nginx в firewalld или ufw. Она также может устанавливать булевы значения SELinux, чтобы разрешить Nginx действовать как обратный прокси. Эти настройки по умолчанию отключены, и вам нужно явно их включить:

  • configure_for_firewalld: true
  • configure_for_ufw: true
  • configure_for_selinux: true

Пример Плейбука

Ваш плейбук может выглядеть так:

---

- hosts: all
  become: true
  roles:
    - role: elan.simple_nginx_reverse_proxy
      configure_for_firewalld: true

Разработка

Для разработки и тестирования вы можете использовать molecule. С podman в качестве драйвера вы можете установить его следующим образом – желательно в виртуальной среде:

pip install -r .dev_requirements.txt

Затем вы можете создавать тестовые экземпляры, применять конфигурацию ansible (converge) и удалять тестовые экземпляры с помощью следующих команд:

molecule create
molecule converge
molecule destroy

Лицензия

BSD-3-Clause

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

ELAN e.V

О проекте

Installs and prepares Nginx as reverse proxy

Установить
ansible-galaxy install elan-ev/simple_nginx_reverse_proxy
Лицензия
bsd-3-clause
Загрузки
14311
Владелец
elan e.V. is a German non-profit organization helping universities and other higher education organizations with all things related to e-learning