Настройка SSL
Важно!
Сразу после установки Vampy WebUI доступен только через HTTP.
Вы можете настроить SSL одним из следующих методов:
- Загрузить свой SSL сертификат на платформу и настроить HTTP/HTTPs;
- Настроить HTTP или TCP реверс-прокси с SSL-терминацией.
Загрузка SSL-сертификатов в ASMP
Загрузите SSL-сертификаты в формате PEM в каталог /opt/hw-vmp/vssl
. Обратите внимание, что загруженные файлы не будут перезаписаны при обновлении до следующей версии, поэтому можете смело хранить их в этом каталоге.
Вы можете изменить каталог по умолчанию, если он вам не подходит:
- Откройте файл
/opt/hw-vmp/config/user.ini
(требуются права root); - Добавьте опцию
v.ssl.dir
в раздел[main]
и укажите новый путь:
Чтобы применить изменения, выполните команду:
Настройка HTTP/HTTPs
Чтобы настроить перенаправление с HTTP на HTTPs, добавьте следующие параметры в раздел [main]
файла /opt/hw-vmp/config/user.ini
(требуются права root):
[main]
v.ssl.enabled = ssl_redirect
v.deck.ip.expose = 0.0.0.0
v.deck.port.expose = 80
v.deck.https.ip.expose = 0.0.0.0
v.deck.https.port.expose = 443
где:
v.ssl.enabled
- опция, которая включает SSL. Возможные значения:no_ssl
- используется только незащищенное HTTP-соединение (значение по умолчанию);ssl_both
- используются как незащищенное HTTP-соединение, так и защищенное HTTPs-соединение;ssl_redirect
- перенаправление с незащищенного HTTP-соединения на защищенное HTTPs-соединение;ssl_only
- используется только защищенное HTTPs-соединение.
v.deck.ip.expose
- IP-адрес для незащищенного HTTP-соединения (0.0.0.0
- публичный IP-адрес,127.0.0.1
- локальный IP-адрес). Обязательно дляno_ssl
,ssl_both
иssl_redirect
.v.deck.port.expose
- номер порта для незащищенного HTTP-соединения (значение по умолчанию - 80). Обязательно дляno_ssl
,ssl_both
иssl_redirect
.v.deck.https.ip.expose
- IP-адрес для защищенного HTTPs-соединения (0.0.0.0
- публичный IP-адрес,127.0.0.1
- локальный IP-адрес). Обязательно дляssl_only
,ssl_both
иssl_redirect
.v.deck.https.port.expose
- номер порта для защищенного HTTPs-соединения. Обязательно дляssl_only
,ssl_both
иssl_redirect
.
Чтобы применить изменения, выполните команду:
Настройка HTTP или TCP реверс-прокси с SSL-терминацией
При необходимости вы можете запустить ASMP за вашим собственным реверс-прокси. Например, настройте nginx
, который будет проксировать все запросы к ASMP.
Чтобы использовать свой прокси-сервер на той же машине, измените следующие параметры в /opt/hw-bw/config/user.ini
(требуются права root):
Чтобы применить изменения, выполните команду:
Пример конфигурации nginx как HTTP реверс-прокси
-
Пример конфигурации
nginx
:server { server_name yourasmp.example.com; access_log /var/log/nginx/yourasmp.example.com-access.log full_log; error_log /var/log/nginx/yourasmp.example.com-error.log; client_max_body_size 0; location / { proxy_pass http://localhost:10001; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; } listen 443 ssl; ssl_certificate /path/to-your/certs/fullchain.pem; ssl_certificate_key /path/to-your/certs/privkey.pem; } server { if ($host = yourasmp.example.com) { return 301 https://$host$request_uri; } listen 80; server_name yourasmp.example.com; return 404; }
где:
10001
- номер порта, который вы установили дляv.deck.port.expose
в файлеuser.ini
;yourasmp.example.com
- имя хоста или IP-адрес вашей виртуальной машины.
-
Пример конфигурации
Let's Encrypt
сcertbot
. Вы должны установить эту конфигурацию перед тем, как выдавать сертификаты с помощьюcertbot
.
server {
listen 80;
server_name yourasmp.example.com;
access_log /var/log/nginx/yourasmp.example.com-access.log
full_log;
error_log /var/log/nginx/yourasmp.example.com-error.log;
client_max_body_size 0;
location / {
proxy_pass http://localhost:10001;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}
где:
10001
- номер порта, который вы установили дляv.deck.port.expose
в файлеuser.ini
;yourasmp.example.com
- имя хоста или IP-адрес вашей виртуальной машины.
Добавление корневых сертификатов
Сначала вам нужно создать каталог /opt/certs
и скопировать корневой сертификат на платформу:
После этого необходимо указать путь к каталогу с корневыми сертификатами в файле /opt/hw-vmp/config/user.ini
, добавив там опцию:
Перезапустите платформу (systemctl restart hw-vmp
) или выполните /opt/hw-vmp/bin/reconfig
, если вы изменили файл /opt/hw-vmp/config/user.ini
.
Конвертация CA-сертификата из .PFX
Вам может понадобиться конвертировать CA из .pfx.
-
Создайте SSL-ключ:
-
Создайте SSL-сертификат:
Примечание: если удалить флаг
-out
, то ключ со всей информацией будет выведен на экран. Скопируйте всё, начиная со строкиBEGIN PRIVATE KEY
/BEGIN CERTIFICATE
и доEND PRIVATE KEY
/END CERTIFICATE
, и сохраните в файл. -
Создайте корневой сертификат:
Примечание: вы получите цепочку корневых сертификатов. Вам понадобится только последний сертификат в этой цепочке. Например, вы можете открыть файл для редактирования и удалить все, кроме последнего.
-
Объедините файлы в один сертификат:
-
Скопируйте SSL-сертификаты на виртуальную машину с установленной платформой в каталог с SSL-сертификатами: