Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

В этом руководстве описана процедура ручной установки SSL-сертификата для работы веб-интерфейса администрирования системы WNAM 2 по защищенному протоколу.

Все действия необходимо будет выполнить на каждом из серверов кластера, если он настроен.

Tip
В будущих релизах системы планируется добавить функционал автоматической (из веб-интерфейса) установки этих сертификатов.

I. Подготовка сертификата

Перед установкой убедитесь, что у вас есть следующие файлы:  
- Сертификат (обычно файл с расширением .pem)  
- Приватный ключ (файл .pem)  

Положите их в каталог /etc/nginx/certs/

1. Подключитесь к серверу WNAM 2 и отредактируйте конфигурационный файл nginx

...

Система WNAM 2 (сервис wnam2.service) по умолчанию запускается на TCP порту 8080 и локальном хосте (127.0.01). Можно оставить запуск системы на этом порту, но рекомендуется использовать проксирующий сервер nginx для обработки запросов на порту 80, для SSL шифрования (порт 443), контроля доступа и кэширования. Если вы разворачивали WNAM 2 из штатного ISO-дистрибутива, nginx уже установлен и настроен на работу по порту 80 (т.е. без использования сертификатов).

...

Дале следует отредактировать конфигурационный файл /etc/nginx/sites-availableenabled/wnam2:ui2:

server {
        root /var/www/ui2;
        index index.html;
        server_name _;
        client_max_body_size 500M;
        location / {
                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; # replace
  }

  location /assets/imgs/wallpaper/ {
    expires max;
  }

  location /portal/ {
    try_files $uri $uri/ /index.html =404;
    root /var/www;
    index index.html;
  }

server {
listen 80;
 access_log /var/log/nginx/access.log;
 location / { 
proxy_pass

  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; 
  }

}

 

Если имеется SSL-сертификат (купленный, или запрошенный полученный у сервиса Let's Encrypt)Ю , и требуется использовать сервер системы WNAM 2 так, чтобы он был доступен администраторам по протоколу HTTPS, необходимо использовать следующую приблизительную конфигурацию:. Разница с базовой конфигурацией выделена красным.

Note
Замените "ваш.домен.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; 
  }

}

2. Не забудьте сгенерировать файл dhparams:

Он необходим для корректной работы механизмов шифрования в системной SSL-библиотеке. Это операция может занять несколько минут, в зависимости от характеристик процессора. 

openssl dhparam -out /etc/ssl/certs/dhparam.pem 4096

3, Затем необходимо создать ссылку: 

Этим в работу прокси-сервера nginx включается созданный файл конфигурации WNAM 2.

cd /etc/nginx/sites-enabled
ln -s ../sites-available/wnam2 wnam2

...

6. После произведенных действий следует перезапустить сервис:

service nginx restart

II. Проверка работы SSL

1. Откройте веб-интерфейс WNAM 2 по HTTPS:

https://ваш.домен.ru

2. Убедитесь, что соединение защищено (в браузере должен отображаться значок замка).

3. Войдите в административный интерфейс, логин и пароль по умолчанию: admin