Установка и настройка WEB сервера
Установка и настройка WEB сервера
Настройка веб сервера. Веб сервер можно использовать любой, мы рекомендуем nginx и на его примере пойдет дальнейшее описание.
1. Скачайте и распакуйте nginx-1.19.0.zip в отдельную папку, например C:\nginx
2. Для установки nginx в качестве службы, скачайте Windows Service Wrapper в папку с распакованым nginx и переименуйте в nginx_svc.exe
3. Тут же создайте nginx_svc.xml по шаблону ниже, исправив пути до папки c nginx на актуальные.
<service>
<id>nginx</id>
<name>nginx</name>
<description>HTTP-Server nginx</description>
<executable>c:\nginx\nginx.exe</executable>
<logpath>c:\nginx\logs</logpath>
<logmode>roll</logmode>
<depend></depend>
<startargument>-p</startargument>
<startargument>c:\nginx</startargument>
<stopargument>-p</stopargument>
<stopargument>c:\nginx</stopargument>
<stopargument>-s</stopargument>
<stopargument>stop</stopargument>
</service>
4. Установите службу веб сервера, для этого запуститите nginx_svc.exe с ключом install из командной строки. Пример: C:\nginx\nginx_svc.exe install
- Откройте оснастку управления службами ОС (services.msc), найдите там службу nginx и двойным щелчком откройте ее. - На закладке «Общие» установите тип запуска службы «Автоматически(Авто)».
5. Откройте файл C:\nginx\conf\nginx.conf и отредактируйте параметр - server_name - имя, по которому клиенты будут заходить на веб интерфейс программы, в простом варианте – это имя сервера, например server_name stack-srv
;
- ниже будет конструкция:
location / {
root html;
index index.html index.htm;
}
В ней нужно нужно изменить параметр root, указав каталог stack-front, который по умолчанию в каталоге программы, например: root C:\Stack\stack-front
;
Сразу после предыдущей конструкции нужно добавить еще несколько вида:
location /<имя_задачи> {
root <каталог stack-fron>\<имя_задачи>;
index index.html index.htm;
if (!-e $request_filename){ rewrite ^(.*)$ /index.html break; }
}
Тут меняются первая и вторая строка.
В первой после «/» указывается имя задачи, по аналогии с именами из файла deploy.bat, например
location /fl {
Во второй указывается путь до stack-front и такое же имя задачи, например
root C:\Stack\stack-front\fl
;
Таких конструкций нужно добавить для каждой используемой задачи.
Тут же добавьте реверс прокси на шлюз stackgateway:
location /stackgateway {
proxy_pass http://<адрес_сервера>:<порт>/stackgateway;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
<адрес_сервера> - ip адрес или доменное имя сервера, на котором развернут шлюз stackgateway;
<порт> - порт на который настроен шлюз stackgateway.
Пример настроек, описанных выше:
Важно!
Обратите внимание! В случае работы пользователей с программным комплексом СТЕК не только в локальной сети компании, но и через общедоступную сеть интернет, для защиты канала необходимо настроить подключение по протоколу HTTPS. Для этого у web-сервера должно быть зарегистрированное доменное имя и на данное имя выпущены SSL сертификаты.
Для работы по протоколу HTTPS полученные SSL сертификаты разместите в каталоге с установленным nginx
, например C:\nginx\ssl
, после чего внесите следующие изменения в файл конфигурации C:\nginx\conf\nginx.conf
:
на прослушиваемом порту добавьте после пробела запись о шифровании
ssl
, порт для HTTPS по умолчанию 443 (можно указать другой, в таком случае при переходе по доменному имени в адресе нужно дописывать порт подключения);имя сервера измените на зарегистрированное доменное имя, например,
stack-srv.ru
;добавтьте строки с указанием пути, к файлам ssl сертификатов и ключа, например:
ssl_certificate C:/nginx/SSL/stack-srv.ru.crt; ssl_certificate_key C:/nginx/SSL/stack-srv.ru.key;
Примечание.
При работе в LAN компании без SSL шифрования, по протоколу HTTP, во избежание запроса повторной авторизации пользователя по истечении времени протуханиия accessToken
, можно в файле env.json
(находится в каталоге с фронтом) прописать переменную "NO_SSL_AUTH": 1
, при этом следует помнить, что работа без ssl и без ограничения времени действия accessToken
небезопасно.
6. Сохраните файл конфигурации и запустите службу nginx. Если служба не запускается, ошибки можно посмотреть в <каталог nginx>\logs\error.log
7. Откройте браузер и перейдите по адресу http://<имя сервера приложений>, например http://stack-srv. Залогиньтесь в программу под пользователем SA и убедитесь что все работает. На этом стандартная установка закончена.