Перейти к содержанию

Настройка Логин Центра и воркспейса, установленных на одном сервере

При одновременной работе LC и WS, установленный в LC nginx выступает как Reverse Proxy для установленного WS.

Сначала устанавливаем Логин Центр и воркспейс, по соответствующим инструкциям.

После того как мы установили Логин Центра и Воркспейс.

Для начала нам необходимо в Логин Центре в файле под названием .env, добавить переменную WORKSPACE_PROXY_URL и указать ей значение: http://10.0.3.15 (Это тот самый container.ip который мы указывали в файле manifest.json при его заполнении).

Переходим к настройке Reverse Proxy для Воркспейса.

Нам необходимо залить на сервер шаблоны nginx в папку /om/login-center/data/nginx/templates.

ws80.conf.template
server {
    listen 80;
    server_name ${NGINX_WORKSPACE_HOST};

    return 301 https://${NGINX_WORKSPACE_HOST}$request_uri;
}
ws443.conf.template
server {
    listen 443 ssl;

    server_name ${NGINX_WORKSPACE_HOST};

    ssl_certificate /etc/nginx/ssl/workspace1/bundle.crt;
    ssl_certificate_key /etc/nginx/ssl/workspace1/crt.key;

    client_max_body_size 1G;

    location / {
        proxy_pass ${NGINX_WORKSPACE_PROXY_URL};
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto https;
        proxy_pass_request_headers on;
        proxy_connect_timeout       30;
        proxy_send_timeout          600;
        proxy_read_timeout          10800;
        send_timeout                600;

        # Web Socket Support
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Далее нужно добавить сертификат в /om/login-center/data/nginx/cert/workspace1/bundle.crt и его ключ в /om/login-center/data/nginx/cert/workspace1/crt.key.

Warning

При совместной установке в manifest.json нужно убрать блок ssl и убрать записи в блоке ports.

/om/workspace1/manifest.json
{
  "container": {
    "ip": "10.0.3.15",
    "cpu": 18,
    "memory": 140660178944,
    "ports": {
      "0.0.0.0:80": 80, - не нужно
      "0.0.0.0:443": 443 - не нужно
    }
  }
}
...
"workspace": {
  "id": "token",
  "name": "TEST_WS",
  "web": {
    "url": "https://workspace.company.org",
    "ssl": { - не нужно
      "cert": "/om/cert/bundle.crt", - не нужно
      "key": "/om/cert/crt.key" - не нужно
    }
  }
}
...

Применение изменений

Необходимо сделать стоп\старт Логин Центра, перейдя в его root директорию и воспользовавшись утилитой manage.

cd /om/login-center
./manage stop
и затем

./manage start

В том случае, если LC уже был запущен, для применения изменений потребуется запустить регенерацию yaml на основе значений манифеста (configure.sh), находящийся в директории LC:

./configure.sh