Общие сведения
Механизм аутентификации по технологии Reverse Proxy, реализуемый Системой, ожидает поступления запросов пользователей по отдельному порту.
Для корректной работы механизма порт Системы, предназначенный для обработки входящих HTTP/HTTPS-запросов, должен быть опубликован на общедоступном веб-сервере посредством веб-сервера или прокси-сервера. При этом порт Системы, обслуживающий Reverse Proxy-запросы, может обслуживать одновременно несколько веб-приложений, подключенных для аутентификации посредством этого механизма.
Рисунок – Общая схема решения
Настройка параметров интерфейса в конфигурационном файле
Для настройки параметров публикации порта Reverse Proxy-сервера настройте параметры секции reverseproxy.server
в конфигурационном файле config.json
Системы.
Параметры секции radiusServer
:
Параметр | Назначение параметра | Допустимые значения |
---|---|---|
host | IPv4-адрес и порт сетевого интерфейса, на котором ожидаются входящие подключения | IPv4-адрес или localhost |
port | Номер порта, на котором должен быть открыт интерфейс | Целое число в диапазоне от 0 до 65535 |
После внесения изменений в параметры config.json требуется перезапустить службу Сервера Системы
Настройка публикации интерфейса Reverse Proxy на веб-сервере
Представленные ниже настройки будут корректны в случае необходимости настройки проксирования запросов по HTTP на HTTP целевого приложения, или c HTTPS на HTTPS целевого приложения. Схема с изменением HTTPS на HTTP или HTTP на HTTPS требует дополнительных настроек на стороне Nginx, выполнение которых выходит за рамки текущего руководства
1. Создать новый файл в каталоге /etc/nginx/sites-available
с расширением *.conf
(например ssoreverse.conf
) или отредактировать уже существующий файл idp.conf
.
server { listen 80; listen 443 ssl; server_name mail.avanpost.demo; ssl_certificate /opt/idp/cert/cert.pem; ssl_certificate_key /opt/idp/cert/key.pem; location / { proxy_pass http://127.0.0.1:4010; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
, где:
server_name
- имя, по которому будет происходить обращение через браузер;ssl_certificate
иssl_certificate_key
- путь до сертификата и ключа. Могут быть использованы тот же ключ и сертификат, что были сгенерированы на стороне самого Сервера Системы и указаны в конфигурационном файле config.json в параметрахcert
иprivate_key
.proxy_pass
- по умолчанию 4010 порт, но может быть настроен произвольный порт.
2. В конце конфигурационного файла на стороне Nginx добавить секцию:
server { listen 80; listen 443; server_name ""; return 444; }
Настройка приложения на стороне административной консоли Системы
Для последующей настройки и публикации веб-приложения посредством Reverse Proxy задайте два параметра:
Базовый URL
- тот URL, который был на предыдущем шаге указан в параметре server_name;URL приложения
- целевой адрес (хост или IP-адрес), на котором размещено и доступно со стороны Сервера Системы целевое веб-приложение.