В этом руководстве описана процедура ручной установки SSL-сертификата в систему для работы веб-интерфейса администрирования системы WNAM 2 по защищенному протоколу.
| Tip |
|---|
| В будущих версиях релизах планируется добавить функционал автоматической (из веб-интерфейса) установки этих сертификатов. |
Подготовка сертификата
...
Используйте SSH для доступа к серверу, на котором развернута система.
Система WNAM 2 (сервис wnam2.service) по умолчанию запускается на TCP порту 8080 и локальном хосте (127.0.01). Можно оставить запуск системы на этом порту, но рекомендуется использовать проксирующий сервер nginx для обработки запросов на порту 80, для SSL шифрования (порт 443), контроля доступа и кэширования. Если вы разворачивали WNAM 2 из штатного ISO-дистрибутива, nginx уже установлен и настроен на работу по порту 80 (.е. без использования сертификатов).
Установка сервера Nginx производится следующей командой:
...
Если имеется SSL-сертификат (купленный, или приобретенный от запрошенный у сервиса Let's Encrypt)Ю и требуется использовать сервер системы WNAM 2 так, чтобы он был доступен абонентам администраторам по протоколу HTTPS, необходимо использовать следующую приблизительную конфигурацию:
...
server {
listen 80;
return 301 https://$server_name$request_uri;
server_name ваш.домен.ru;
}
server {
root /var/www/ui2;
index index.html;
server_name _;
client_max_body_size 500M;
ssl_certificate /etc/nginx/certs/ваш-сертификат.pem;
ssl_certificate_key /etc/nginx/certs/ваш-приватный-ключ-privkey.pem;
listen 443 ssl;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ /index.html =404;
add_header Last-Modified $date_gmt;
add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
if_modified_since off;
expires off;
etag off;
}location /api/2.0/ {
proxy_pass http://127.0.0.1:8080/api/2.0/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 120;
proxy_connect_timeout 120;
proxy_intercept_errors on;error_page 502 503 504 /api/proxy_error.html;
}location /assets/imgs/wallpaper/ {
expires max;
}location /portal/ {
try_files $uri $uri/ /index.html =404;
root /var/www;
index index.html;
}location /portal/api/auth {
proxy_pass http://127.0.0.1:8080/api/2.0/portal/auth;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 120;
proxy_connect_timeout 120;
proxy_intercept_errors on;
error_page 502 503 504 /api/proxy_error.html;
}}
...