Как настроить https с прокси-сервером - Продукт Modus BI
Альтернативным вариантом настройки протокола HTTPS для связи клиента и сервера является использование прокси- сервера, как промежуточного звена между клиентом и сервером Аналитического портала. При этом сервер аналитического портала должен иметь соответствующие настройки.
Настройки сервера Аналитического портала
Сервер Аналитического портала сообщает клиенту аналитического портала информацию нужную для построения URL к API сервера, с указанием типа используемого протокола. При использовании HTTPS протокола, настроенного на прокси-сервере, связь прокси-сервера с Аналитическим порталом имеет смысл вести с использованием протокола HTTP, для снижения нагрузки. Нагрузка при этом ложится на прокси-сервер.
Если в настройках сервера выбрать в качестве протокола HTTPS, но файлы сертификата и закрытого ключа не загружать, то сервер будет использовать HTTP протокол, а параметры для построения URL клиенту будет сообщать нужные для построения HTTPS запросов.
WEB-клиент | Файл настроек «modusbi.json» | Значение настройки |
---|---|---|
Протокол сервера данных | $.backend.protocol |
https |
Ключ SSL | - | Файл не выбран |
Сертификат SSL | - | Файл не выбран |
Настройка «Протокол сервера данных» находящаяся в файле имеет приоритет перед аналогичной настройкой в WEB-клиенте. Если есть необходимость иметь возможность настраивать протокол из WEB-клиента, настройку из файла необходимо убрать (как значение, так и само свойство protocol).
Параметры «Ключ SSL» и «Сертификат SSL» настраиваются только из WEB-клиента.
Настройки прокси-сервера
- Настройка прокси-сервера будет показана на примере Ngnix.
- Операционная система: Debian GNU/Linux 12 (bookworm).
- Способ установки: из репозитория дистрибутива.
Шаг 1. Обновление информации и установка Ngnix
Обновляем информацию о репозитории и устанавливаем пакет Ngnix:
apt-get update
apt-get install nginx
Шаг 2. Перенос файлов в каталоги
Помещаем сертификат и ключ в каталоги:
cp ./ssl-cert.pem /etc/ssl/certs/
cp ./ssl-cert.key /etc/ssl/private/
Шаг 3. Создание файла конфигурации
Создаем файл конфигурации SSL nginx:
nano /etc/nginx/snippets/ssl.conf
Добавляем строки о сертификате и ключе в созданный файл:
ssl_certificate /etc/ssl/certs/ssl-cert.pem;
ssl_certificate_key /etc/ssl/private/ssl-cert.key;
Сохраняем изменения.
Шаг 4. Настройка файла nginx
Настраиваем Ngnix. Удаляем link дефолтного файла конфигурации:
rm /etc/nginx/sites-enabled/*
Создаём новый файл конфигурации:
nano /etc/nginx/sites-available/new_site
Добавляем в файл строки:
server {
listen 443 ssl;
server_name new_site;
include snippets/ssl.conf;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 200M;
proxy_max_temp_file_size 0;
proxy_buffering off;
}
}
, где
-
http://127.0.0.1:3000 — адрес сервера и порта на котором запущена служба Аналитического портала.
-
new_site — адрес сайта.
Сохраняем и выходим.
Создаем link на созданный нами файл конфигурации:
ln -s /etc/nginx/sites-available/new_site /etc/nginx/sites-enabled/new_site
Настройка HTTP/2 на веб-сервере Nginx
Протокол HTTP/2 помогает избежать создания нескольких CNAME-записей благодаря загрузке контента в рамках одного TCP-соединения.
По умолчанию настройка протокола HTTP/2 включена на всех серверах. Если ваш браузер поддерживает работу протокола HTTP/2, CDN доставляет контент по HTTP/2.
Если ваш сервер не поддерживает передачу по HTTP/2, пользователь получает контент с разных доменов, объединенный в одну страницу. Контент из CDN передается по протоколу HTTP/2, контент с вашего сервера — по протоколу, настроенному на вашем сервере.
Последние версии популярных браузеров поддерживают стандарт HTTP/2. Для работы протокола HTTP/2 в браузере необходима возможность отправки запросов по HTTPS. Такая возможность появляется после подключения SSL-сертификата к CDN-ресурсу.
Для настройки требуется версия Nginx 1.9.5 и выше.
-
Откройте конфигурационный файл
/etc/nginx/nginx.conf.
- В секции
server
замените строкуlisten 443 ssl;
наlisten 443 ssl http2;.
- Чтобы сохранить изменения и перезагрузить Nginx, выполните команду $ sudo service nginx reload.
Шаг 5. Настройка внешнего адреса в файле «modusbi.json»
Необходимо настроить параметры подключения к серверу Backend в файле «modusbi.json». К указанному адресу будут обращаться клиентские соединения из браузера при работе с аналитическим порталом. В общем случае обращение должно выполняться к устройству, на котором запущен аналитический портал.
Добавляем в файл «modusbi.json» строки:
{
...
"backend": {
"protocol": "https",
"host": "new_site",
"port": 443,
"base_url": "/v1/api/"
}
...
}
, где
new_site — адрес сайта.
Шаг 6. Перезагрузка
Перезапускаем службу Nginx:
systemctl reload nginx.service
Настройка завершена.
- Категории
- Компонент: Аналитический портал Функции Аналитического портала: Администрирование
- Дата публикации
- 18.10.24
- Приоритет
- Приоритет: 0.0
- Просмотреть счетчик
- 16 Просмотров
- Дата создания
- 18.10.24