nginx_revproxy

ansible-role-nginx_revproxy

Устанавливает и настраивает Nginx как обратный прокси для нескольких веб-сайтов.

GitHub Качество Загрузки Galaxy Версия
CI quality downloads Galaxy Version

Требования

Эта роль требует Ansible версии 2.4 или выше.

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

Значения по умолчанию:

nginx_revproxy_sites:                                         # Список сайтов для обратного прокси
  default:                                                    # Задать сайт по умолчанию, который будет возвращать 444 (Соединение закрыто без ответа)
    ssl: false                                                # Установите в True, если хотите перенаправить http на https
    letsencrypt: false

  example.com:                                                # Имя домена
    domains:                                                  # Список псевдонимов server_name
      - example.com
      - www.example.com
    upstreams:                                                # Список Upstreams
      - { backend_address: 192.168.0.100, backend_port: 80 }
      - { backend_address: 192.168.0.101, backend_port: 8080 }
    auth:                                                     # Определить этот блок для одного HTTP пользователя/пароля, или оставить неопределенным для неаутентифицированных vhosts
      login: myusername
      password: mysecretpassword
    extra_locations:                                           # Установите этот блок, чтобы добавить дополнительное местоположение, или оставьте неопределенным, если не нужно дополнительное местоположение
      websocket:                                              # имя дополнительного местоположения
        upstreams:                                            # список upstream для дополнительного местоположения
          - { backend_address: 192.168.0.102, backend_port: 8088 }
    listen: 9000                                              # Укажите порт, на котором хотите прослушивать чистый HTTP, или оставьте неопределенным для 80
    ssl: false                                                # Установите в True, если хотите перенаправить http на https
    letsencrypt: false                                        # Установите в True, если хотите использовать letsencrypt
    conn_upgrade: true                                        # Установите значения заголовка Connection upgrade
    acls:                                                     # Ограничить доступ для определенных клиентских адресов (значения могут быть адресами, CIDR, unix или all)
      - { mode: allow, value: 192.168.0.1 }
      - { mode: deny, value: all }

  example.org:                                                # Имя домена
    domains:                                                  # Список псевдонимов server_name
      - example.org
      - www.example.org
    upstreams:                                                # Список Upstreams
      - { backend_address: 192.168.0.200, backend_port: 80 }
      - { backend_address: 192.168.0.201, backend_port: 8080 }
    listen: 9000                                              # Укажите порт, на котором хотите прослушивать чистый HTTP, или оставьте неопределенным для 80
    listen_ssl: 9001                                          # Укажите порт, на котором хотите слушать HTTPS, или оставьте неопределенным для 443
    ssl: true                                                 # Установите в True, если хотите перенаправить http на https
    ssl_certificate: /etc/ssl/certs/ssl-cert-snakeoil.pem     # ssl сертификат, используется, если letsencrypt не включен
    ssl_certificate_key: /etc/ssl/private/ssl-cert-snakeoil.key # ключ ssl сертификата, используется, если letsencrypt не включен
    letsencrypt: false                                        # Установите в True, если хотите использовать letsencrypt
    letsencrypt_email: ""                                     # Укажите email для сертификата letsencrypt

nginx_revproxy_certbot_auto: false                             # Установите в true, чтобы установить certbot-auto

nginx_revproxy_certbot_packages:                              # Установить эти пакеты из репозитория, если не используется certbot-auto
  - certbot
  - python3-certbot-nginx

Зависимости

Нет.

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

  - hosts: all
    roles:
      - hispanico.nginx_revproxy
    vars:
      nginx_revproxy_sites:
        default:
          ssl: false
          letsencrypt: false

        example.com:
          domains:
            - example.com
            - www.example.com
          upstreams:
            - { backend_address: 192.168.0.100, backend_port: 80 }
            - { backend_address: 192.168.0.101, backend_port: 80 }
          ssl: true
          letsencrypt: false

Лицензия

Лицензия GPLv3. См. файл LICENSE для подробностей.

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

Hispanico

Установить
ansible-galaxy install hispanico/ansible-nginx-revproxy
Лицензия
gpl-3.0
Загрузки
65584
Владелец
@openwisp Contributor and @ninuxorg Member