# Компонент для протокола HTTPS

Представляет собой исполняемый файл с именем webproxy_windows_amd64 для Windows или webproxy_linux_amd64 для Linux. Настройки для работы компонента указываются в файле конфигурации webproxy.toml как показано далее.

Компонент поддерживает три варианта запуска: из консоли, как служба Windows или демон Linux. Они настраиваются так же, как и для рассмотренного выше компонента для трафика TrueConf, но с рядом отличий:

# Настройка сертификатов

  1. Если на стороне TrueConf Server настроен самоподписанный сертификат, то скачайте его (по ссылке Скачать ca.crt в блоке Самоподписанный сертификат) и добавьте его в доверенные корневые сертификаты на машине с TrueConf Border Controller. Как это сделать, читайте в документации к вашей ОС.

Например, на ОС Debian:

  • скопируйте файл сертификата в хранилище сертификатов в каталог usr/local/share/ca-certificates/:
sudo cp ca.crt /usr/local/share/ca-certificates/
  • обновите хранилище сертификатов командой:
sudo update-ca-certificates -v

Если вы получите ошибку что команда не найдена, то установите пакет из репозитория:

sudo apt install -y ca-certificates
  • для проверки, что ваша ОС доверяет сертификату, выполните:
openssl verify /usr/local/share/ca-certificates/ca.crt

2. В панели управления TrueConf Server перейдите в раздел Веб → Настройки и в поле Внешний адрес веб страницы TrueConf Server укажите адрес машины с TrueConf Border Controller.

3. Создайте сертификат для машины с TrueConf Border Controller. Если нет коммерческого, можно создать самоподписанный как показано в нашей базе знаний.

4. Полученные на шаге 3 сертификат и ключ скопируйте в каталог <path_to_border_controller>\etc\crt\, где <path_to_border_controller> — путь к исполняемому файлу компонента.

5. Переименуйте файлы сертификата и ключа в виде <guid>.crt и <guid>.key где <guid> — одинаковый для обоих файлов 128-битный идентификатор GUID. Его можно сгенерировать, например, с помощью онлайн-сервиса UUID Generator (opens new window).

# Создание файла конфигурации

В каталоге с исполняемым файлом компонента создайте файл конфигурации webproxy.toml вида:

[certificate]
cert_extension = '.crt'
key_extension = '.key'

[dir]
executable_relative = true
installation = 'C:\TrueConf Border Controller'

[file]
configname = 'webproxy'

[interfaces]
[interfaces.list]
[interfaces.list.0]
Address = '[::]:443'
EnableTLS = true
ReadTimeout = 0
TLSConfigID = 'd25ceb20-f473-41dc-8db9-37f4dec1a3d1'
TargetID = 'a824b5cb-c92d-4a52-a5cc-434fecaba6a8'

[interfaces.list.1]
Address = '[::]:80'
EnableTLS = false
ReadTimeout = 0
TLSConfigID = ''
TargetID = '2f0dbf86-8378-41fc-9c5a-89a43728a0b7'

[proxy]
trust_client_headers = true

[targets]
[targets.list.a824b5cb-c92d-4a52-a5cc-434fecaba6a8]
address = '10.110.2.82:443'
is_secure = true

[targets.list]
[targets.list.2f0dbf86-8378-41fc-9c5a-89a43728a0b7]
address = '10.110.2.82:80'
is_secure = false

[tls]
[tls.list]
[tls.list.d25ceb20-f473-41dc-8db9-37f4dec1a3d1]
CertificateID = 'd25ceb20-f473-41dc-8db9-37f4dec1a3d1'
CertificateType = 'user-provided'
DisplayName = 'My TLS configuration'
ID = 'd25ceb20-f473-41dc-8db9-37f4dec1a3d1'

где укажите следующие значения:

  • в разделе [dir]:

    • installation — путь к исполняемому файлу компонента;
  • в разделе [interfaces.list.0]:

    • Address — порт для HTTPS если отличается от стандартного 443;

    • TLSConfigID — имя файлов сертификата и ключа, полученное на шаге 5;

    • TargetID — GUID для идентификации блока настроек HTTPS из раздела [targets];

  • в разделе [interfaces.list.1]:

    • Address — порт для доступа к панели управления по HTTP если отличается от стандартного 80;

    • TargetID — GUID для идентификации блока настроек HTTP из раздела [targets];

  • для каждого из блоков [targets.list.<guid>] в разделе [targets]:

    • сгенерируйте уникальные GUID и добавьте их в названиях вместо <guid>;

    • address — IP-адрес или FQDN TrueConf Server и порт для передачи трафика от компонента;

    • is_secure — если для параметра address текущего блока [targets.list.<guid>] был указан HTTPS порт, то значение true, иначе false;

  • в разделе [tls]:

    • для названия блока [tls.list.<guid>] замените <guid> на значение TLSConfigID (оно же название файла сертификата из шага 5);

    • CertificateID и ID — значение TLSConfigID.

7. Сохраните файл webproxy.toml и запустите компонент.

# Запуск компонента на ОС Windows

Для запуска компонента из консоли выполните команду:

<path_to_border_controller> run

где <path_to_border_controller> — путь к исполняемому файлу. Например:

c:\Program Files\TrueConf\webproxy_windows_amd64.exe run

Создание службы аналогично рассмотренным для компонента tc_bc инструкциям, только в качестве пути к файлу (параметры BinaryPathName или binPath) надо указать c:\Program Files\TrueConf\webproxy_windows_amd64.exe run.

# Запуск компонента на ОС Linux

Для запуска компонента из терминала выполните команду:

<path_to_border_controller> run

где <path_to_border_controller> — путь к исполняемому файлу. Например:

/opt/trueconf/enterprise/etc/bc/webproxy_linux_amd64 run