nginx_revproxy
ansible-role-nginx_revproxy
Устанавливает и настраивает Nginx как обратный прокси для нескольких веб-сайтов.
GitHub | Качество | Загрузки | Galaxy | Версия |
---|---|---|---|---|
Требования
Эта роль требует 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