Skip to content

Публикация приложений 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.

Версия контейнера и порт могут отличаться.

2.1. Скачайте скрипт автоматической настройки Nginx или Angie в каталог /opt/dks-wsks-<версия_контейнера>.

Данный каталог содержит архив, с которого был развернут контейнер.

bash
wget -O /opt/dks-wsks-6.0.9/webconf.sh https://keysystems.ru/files/web/Scripts/wsks/webconf.sh
chown root:root /opt/dks-wsks-6.0.9/webconf.sh
chmod 770 /opt/dks-wsks-6.0.9/webconf.sh
bash
wget -O /opt/dks-wsks-8.0/webconf.sh https://keysystems.ru/files/web/Scripts/wsks/webconf.sh
chown root:root /opt/dks-wsks-8.0/webconf.sh
chmod 770 /opt/dks-wsks-8.0/webconf.sh

2.2. Изучите параметры скрипта.

bash
bash /opt/dks-wsks-6.0.9/webconf.sh --help
bash
bash /opt/dks-wsks-8.0/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
bash /opt/dks-wsks-6.0.9/webconf.sh -ws nginx -p 443 -pc 5444
bash
bash /opt/dks-wsks-8.0/webconf.sh -ws nginx -p 443 -pc 5444

results

3. Измените настройки юнита Nginx или Angie.

Для этого отредактируйте файлы /lib/systemd/system/nginx.service и /lib/systemd/system/angie.service соответственно.

bash
nano /lib/systemd/system/nginx.service
bash
nano /lib/systemd/system/angie.service

Примечание

1. Изменение таймаутов приложений.

Изменить таймауты в nginx_5xxx_ks.conf.t и angie_5xxx_ks.conf.t соответственно.

Nginx

bash
nano /opt/dks-wsks-6.0.9/sh/wsks_files/template/nginx_5xxx_ks.conf.t
bash
nano /opt/dks-wsks-8.0/sh/wsks_files/template/nginx_5xxx_ks.conf.t

Angie

bash
nano /opt/dks-wsks-6.0.9/sh/wsks_files/template/angie_5xxx_ks.conf.t
bash
nano /opt/dks-wsks-8.0/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

Настройки хранятся в файлах:

bash
/etc/nginx/conf.ks/sslks.conf
bash
/etc/angie/conf.ks/sslks.conf

Сертификаты хранятся в файлах:

bash
/etc/nginx/ssl
bash
/etc/angie/ssl

После изменения сертификатов потребуется перечитать конфигурацию Nginx (nginx -s reload) или Angie.

3. Отключение 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 (nginx -s reload) или Angie.

4. После добавления, удаления приложений внутри контейнера скрипт необходимо будет выполнить повторно без ключа -f.

bash
bash /opt/dks-wsks-6.0.9/webconf.sh -ws nginx -p 443 -pc 5444
bash
bash /opt/dks-wsks-8.0/webconf.sh -ws nginx -p 443 -pc 5444

© 2003—2025 ООО «Кейсистемс». Все права защищены.