В этом руководстве описана процедура ручной установки SSL-сертификата в систему WNAM 2.
Подготовка сертификата
Перед установкой убедитесь, что у вас есть следующие файлы:
- Сертификат (обычно файл с расширением .pem)
- Приватный ключ (файл .pem)
1. Подключитесь к серверу WNAM 2 и отредактируйте конфигурационный файл nginx
Используйте 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, необходимо использовать следующую приблизительную конфигурацию:
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;
}}
2. Не забудьте сгенерировать файл dhparams:
openssl dhparam -out /etc/ssl/certs/dhparam.pem 4096
3, Затем необходимо создать ссылку:
cd /etc/nginx/sites-enabledln -s ../sites-available/wnam2 wnam2
4. Далее требуется обязательно удалить /etc/nginx/sites-enabled/default:
rm /etc/nginx/sites-enabled/default
5. Затем проверить правильность конфигурационного файла командой:
nginx -t
6. После произведенных действий следует перезапустить сервис:
service nginx restart
Проверка работы SSL
1. Откройте веб-интерфейс WNAM 2 по HTTPS:
https://ваш.домен.ru
2. Убедитесь, что соединение защищено (в браузере должен отображаться значок замка).