...
| Warning | ||
|---|---|---|
| ||
На следующем шаге нужно указать путь к директории на разделе, выделенном для БД. Иначе файлы баз данных будут храниться на системном разделе. Для переноса уже существующего хранилища на другой раздел следуйте инструкции. |
| Warning | ||
|---|---|---|
| ||
| Настройки логирования по умолчанию не являются оптимальными и могут очень быстро заполнить диск логами. Нужно выполнить настройку по инструкции. |
2. Проверить конфигурационный файл C:\Program Files\PostgreSQL\XX\data\pg_hba.conf, где XX - версия PostgreSQL:
...
| Code Block | ||
|---|---|---|
| ||
postgres-#CREATE DATABASE vitrodb withWITH ownerOWNER = vitrodbuser encodingENCODING = 'UTF8' connection limit LOCALE_PROVIDER = 'icu' ICU_LOCALE = -1;'ru-u-kn-true' TEMPLATE = template0 CONNECTION_LIMIT = -1; |
8. Создать 8. Создать новую базу данных с именем workflow:
| Code Block | ||
|---|---|---|
| ||
postgres-#CREATE DATABASE workflow withWITH ownerOWNER = vitrodbuser encodingENCODING = 'UTF8' LOCALE_PROVIDER = 'icu' ICU_LOCALE = 'ru-u-kn-true' TEMPLATE = connectiontemplate0 limitCONNECTION_LIMIT = -1; |
9. Отключиться от cli postgresql:
...
27. Настроить обратное проксирование.
Если планируется использование авторизации через Kerberos, то необходимо настроить обратное проксирование через IIS.
Иначе возможно использовать Обратное проксирование можно настроить с помощью различных программных средств, с учетом предпочтений заказчика. В отдельной статье рассмотрена настройка обратного проксирования через IIS.
В рамках данной статьи рассматривается наиболее предпочтительный вариант с использованьем NGINX в качестве обратного прокси.
Пример конфигов для обратного проксирования для NGINX (for WindowsПример конфигурационного файла NGINX (nginx.conf):
| Code Block | ||||
|---|---|---|---|---|
| ||||
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice;# Расширенный лог для отладки #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_formatsendfile main '$remote_addr - $remote_user [$time_local] "$request" ' on; # client_max_body_size 20G; # КРИТИЧНО: Увеличиваем буферы для тяжелых Kerberos-тикетов '$status $bodylarge_client_bytesheader_sent "$http_referer" 'buffers 4 64k; #proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size '"$http_user_agent" "$http_x_forwarded_for"'256k; # #access_logПоддержка постоянных logs/access.logсоединений с main; браузером sendfilekeepalive_timeout 300s; keepalive_requests on1000; #tcp_nopush on; # 1. Настройка Upstream с Keep-Alive (обязательно для Negotiate/NTLM) upstream #keepalive_timeoutvitros_backend { 0; keepalive_timeout 65; server 127.0.0.1:4615; #gzip keepalive on64; server { } listen# 80 default_server; server_name vitro.example.ru; Редирект с HTTP на HTTPS server { client_max_body_size 100000M; listen 80 proxy_http_versiondefault_server; 1.1; proxy_pass_request_headers on; proxy_pass_request_body on; listen [::]:80 default_server; proxy_buffer_size 1M;server_name dev-vs.vitro.dev; proxy_buffersif ( 4 1M; $host != "dev-vs.vitro.dev" ){ proxy_read_timeout 1hreturn 444; proxy_send_timeout 1h; } location / { return 301 https://$host$request_uri; } # Основной SSL сервер #proxying traffic to upstream application (Vitro.Server.Core.Web) server { listen 443 ssl default_server; proxy_pass http://127.0.0.1:4615; proxy_set_header X-Real-IP $remote_addr; proxy_set_headerlisten [::]:443 ssl default_server; server_name dev-vs.vitro.dev; X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_headerssl_certificate X-Forwarded-Proto $scheme; proxy_set_header Host $host; } C:/nginx/conf/ssl/dev-vs.vitro.dev.crt; location /workflow/manager { ssl_certificate_key C:/nginx/conf/ssl/dev-vs.vitro.dev.key; ssl_protocols TLSv1.2 TLSv1.3; proxy_pass http://localhost:4616/workflow/manager; # Оптимизация }SSL для } }Windows ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; if ( $host != "dev-vs.vitro.dev" ){ return 444; } # Общие настройки проксирования для Windows Auth proxy_http_version 1.1; proxy_pass_request_headers on; proxy_pass_request_body on; proxy_read_timeout 1h; proxy_send_timeout 1h; location / { # 2. Используем upstream proxy_pass http://vitros_backend; # 3. КРИТИЧНО: Отключаем буферизацию для трансляции NTLM-рукопожатия proxy_buffering off; proxy_request_buffering off; # 4. Сбрасываем заголовок Connection для работы Keep-Alive до бэкенда proxy_set_header Connection ""; # 5. Проброс заголовков proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # Для поддержки WebSockets proxy_set_header Upgrade $http_upgrade; # proxy_set_header Connection "upgrade"; # Раскомментируйте, если нужны только сокеты } location /workflow/manager { proxy_pass http://localhost:4616/workflow/manager; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_buffering off; proxy_set_header Host $host; } } } |
Примечание: Файлы *.crt и *.key для https протокола можно получить из pfx файла сертификата. На примере самоподписанного сертификата IIS (не рекомендуется для продукционных сред!):
- Откройте IIS Manager → выберите сервер → Server Certificates → Create Self-Signed Certificate.
- Кликните правой кнопкой на созданный сертификат → Export. Сохраните его как файл
.pfxс паролем. - С помощью утилиты openssl (она часто идет в комплекте с Git для Windows или ставится отдельно), чтобы вытащить ключ и сертификат:
Code Block title Извлечь ключ openssl pkcs12 -in dev-vs.vitro.dev.pfx -nocerts -out dev-vs.vitro.dev.key -nodesCode Block title Извлечь сертификат openssl pkcs12 -in dev-vs.vitro.dev.pfx -clcerts -nokeys -out dev-vs.vitro.dev.crt









