Конфигурирование веб-сервера

Для конфигурирования веб-сервера нужно:

  • создать пустой конфигурационный файл:
sudo touch /etc/nginx/sites-available/sampledomain.ru.conf
BASH
  • отредактировать созданный файл, приведя его к виду:

Здесь и далее примеры IP-адресов приведены в соответствии с RFC 5737. Указанные IP-адреса должны быть заменены на актуальные, используемые согласно схеме адресации, принятой в инфраструктуре организации.

upstream daas-upstream-ws {
 least_conn;
 	# PROXY TERMIDESK
 
     server 192.0.2.41:5099;
     server 192.0.2.42:5099;
     server 192.0.2.43:5099;
     server 192.0.2.44:5099;
 
}
 
upstream daas-upstream-nodes {
 least_conn;
	 # DISPATCHER TERMIDESK 

     server 192.0.2.30:443;
     server 192.0.2.31:443;
     server 192.0.2.32:443;
 
 }
 
server {
 listen 0.0.0.0:80;
 listen 0.0.0.0:443 ssl;
 
  include snippets/self-signed.conf;
  include snippets/ssl-params.conf;
 
 location /websockify {
         # limit_req zone=fast nodelay;
        proxy_http_version 1.1;
		proxy_pass http://daas-upstream-ws/;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
 
        # Connection timeout
        proxy_connect_timeout 1000;
        proxy_send_timeout 1000;
        proxy_read_timeout 1000;
        send_timeout 1000;
 
        # Disable cache
        proxy_buffering off;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 }
 
 location / {
 	 	proxy_pass https://daas-upstream-nodes/;
 
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
 
 }
 
}
BASH

IP-адреса, перечисленные в директиве daas-upstream-ws, являются адресами «Шлюзов» Termidesk, а IP-адреса, перечисленные в директиве daas-upstream-nodes, являются адресами «Универсальных диспетчеров» Termidesk.

  • создать символическую ссылку на данный виртуальный хост из директории /etc/nginx/sites-available в директорию /etc/nginx/sites-enabled, чтобы nginx его обслуживал:
sudo ln -s /etc/nginx/sites-available/sampledomain.ru.conf /etc/nginx/sites-enabled/
BASH
  • проверить корректность настроек:
sudo nginx -t
BASH
nginx: [warn] "ssl_stapling" ignored, issuer certificate not found
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
BASH

Веб-сервер возвращает предупреждение в случае использования самоподписанного сертификата, однако это не влияет на работу.

  • если в синтаксисе обнаружены ошибки, необходимо исправить их, затем перезапустить веб-сервер:
sudo systemctl restart nginx
BASH