В этом руководстве описана процедура ручной установки SSL-сертификата в систему WNAM 2.
| В будущих версиях планируется добавить функционал автоматической установки сертификатов. |
Перед установкой убедитесь, что у вас есть следующие файлы:
- Сертификат (обычно файл с расширением .pem)
- Приватный ключ (файл .pem)
Установка сертификата
Используйте SSH для доступа к серверу, на котором развернута система.
Система WNAM 2 по умолчанию запускается на TCP порту 8080. Можно оставить запуск системы на этом порту, но рекомендуется использовать проксирующий сервер nginx для обработки запросов на порту 80, для SSL шифрования (порт 443), контроля доступа и кэширования.
Установка сервера Nginx производится следующей командой:
apt-get install nginx
Дале следует отредактировать конфигурационный файл /etc/nginx/sites-available/wnam2:
server {listen 80;access_log /var/log/nginx/access.log;location / {proxy_pass http://127.0.0.1:8080/;
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;
}}
Если имеется SSL-сертификат (купленный, или приобретенный от Let's Encrypt) и требуется использовать сервер системы WNAM 2 так, чтобы он был доступен абонентам по протоколу HTTPS, необходимо использовать следующую приблизительную конфигурацию:
| Замените "ваш.домен.ru", "ваш-сертификат.pem" и "ваш-приватный-ключ-privkey.pem" на вашу информацию. |
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;
}}
openssl dhparam -out /etc/ssl/certs/dhparam.pem 4096
cd /etc/nginx/sites-enabledln -s ../sites-available/wnam2 wnam2
rm /etc/nginx/sites-enabled/default
nginx -t
service nginx restart
1. Откройте веб-интерфейс WNAM 2 по HTTPS:
https://ваш.домен.ru
2. Убедитесь, что соединение защищено (в браузере должен отображаться значок замка).