Публикация приложений WEB-Сервер-КС (no_http) в Nginx и Angie
Исходные данные
Установлен контейнер WEB-Сервер-КС без http-сервера, и развернуты приложения.
Установка описана по ссылке.
Задача
Установить Nginx или Angie на хосте, и опубликовать в них развернутые приложения.
1. Установите Nginx c репозиториев ОС или Nginx, или Angie с репозиториев Angie.
Используйте для этого менеджеры пакетов dnf
, yum
, apt
и apt-get
в зависимости от ОС.
2. Используя bash-скрипт webconf.sh автоматически настройте Nginx или Angie.
Рассмотрим замену сертификатов в контейнере wsks-6.0.9_443.
Версия контейнера и порт могут отличаться.
2.1. Скачайте скрипт автоматической настройки Nginx или Angie в каталог /opt/dks-wsks-6.0.9
.
Данный каталог содержит архив, с которого был развернут контейнер.
wget -O /opt/dks-wsks-6.0.9/webconf.sh https://keysystems.ru/files/web/Scripts/wsks/webconf.sh --no-check-certificate
chown root:root /opt/dks-wsks-6.0.9/webconf.sh
chmod 770 /opt/dks-wsks-6.0.9/webconf.sh
2.2. Изучите параметры скрипта.
bash /opt/dks-wsks-6.0.9/webconf.sh --help
Результат
root@debian-11-test-dsr:~# bash /opt/dks-wsks-6.0.9/webconf.sh --help
параметры по умолчанию описание
---------------------- ------------ ------------------------------------------------------
-ws | --ws_type nginx тип http сервера:
- nginx -> Nginx
- angie -> Angie
-p | --ws_port 443 порт http сервера
-pc | --c_port порт контейнера с приложениями с типом no_http
-f | --force принудительно обновить все конфигурационные файлы
«Принудительно обновить все конфигурационные файлы» - перезаписывает файлы, которые содержат имя сервера, имена сертификатов и т.д.
2.3. Настройку Nginx.
Рассмотрим настройку Nginx слушающий порт 443, и опубликуем приложения в контейнере 5444.
После добавления, удаления приложений внутри контейнера скрипт необходимо будет выполнить повторно.
bash /opt/dks-wsks-6.0.9/webconf.sh -ws nginx -p 443 -pc 5444
3. Измените настройки юнита Nginx или Angie.
Для этого отредактируйте файлы nginx.service
и angie.service
соответственно.
nano /lib/systemd/system/nginx.service
nano /lib/systemd/system/angie.service
Примечание
1. Изменение таймаутов приложений.
Изменить таймауты в nginx_5xxx_ks.conf.t
и angie_5xxx_ks.conf.t
соответственно.
nano /opt/dks-wsks-6.0.9/sh/wsks_files/template/nginx_5xxx_ks.conf.t
nano /opt/dks-wsks-6.0.9/sh/wsks_files/template/angie_5xxx_ks.conf.t
Результат
rewrite ^/@virt_catalog@$ /@virt_catalog@/;
location ~ ^/@virt_catalog@(/.*) {
proxy_pass http://127.0.0.1:@kestrel_port@;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host:$server_port;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 3600;
proxy_connect_timeout 3600;
proxy_send_timeout 3600;
proxy_buffer_size 64k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 64k;
2. Отключение TLS Nginx и Angie.
Закомментируйте строки:
# include /etc/nginx/conf.ks/sslks.conf;
и
# include /etc/angie/conf.ks/sslks.conf;
в файлах /etc/nginx/conf.ks/nginx_server.conf
и /etc/angie/conf.ks/angie_server.conf
соответственно.
Затем перечитайте конфигурацию Nginx или Angie.
3. После добавления, удаления приложений внутри контейнера скрипт необходимо будет выполнить повторно без ключа -f
.
bash /opt/dks-wsks-6.0.9/webconf.sh -ws nginx -p 443 -pc 5444