Общие сведения
Механизм Reverse Proxy используется для подключения веб-приложений к Avanpost FAM с целью обеспечения 2FA/MFA/SSO/SLO. Данный механизм предназначен для использования в ситуациях, когда требуется подключить к системе единой аутентификации унаследованное веб-приложение без поддержки стандартных IdP-протоколов.
Механизм аутентификации по технологии Reverse Proxy, реализуемый Avanpost FAM, ожидает поступления запросов пользователей по отдельному порту. Для корректной работы механизма порт FAM, предназначенный для обработки входящих HTTP/HTTPS-запросов, должен быть опубликован на общедоступном веб-сервере посредством веб-сервера или прокси-сервера. При этом порт Системы, обслуживающий Reverse Proxy-запросы, может обслуживать одновременно несколько веб-приложений, подключенных для аутентификации посредством этого механизма.
Для получения дополнительной информации о настройке Reverse Proxy-механизмов рекомендуется обратиться к статье Установка Avanpost FAM Reverse Proxy Service в ОС Linux.
Рисунок – Общая схема решения
Настройка параметров интерфейса в конфигурационном файле
Для настройки параметров публикации порта Reverse Proxy-сервера требуется указать параметры секции [reverseproxyServer] в конфигурационном файле config.toml основного серверного компонента Avanpost Access Server.
| Параметр | Назначение параметра | Допустимые значения |
|---|---|---|
host | IPv4-адрес и порт сетевого интерфейса, на котором ожидаются входящие подключения. | IPv4-адрес или localhost |
port | Номер порта, на котором должен быть открыт интерфейс. | Целое число в диапазоне от 0 до 65535 |
После внесения изменений в параметры config.toml требуется перезапустить службу idp основного серверного компонента при помощи команды:
sudo systemctl restart idp
Настройка публикации интерфейса 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 | Адрес Access Server (FAM Server), по которому выполняется обращение через браузер. |
ssl_certificate | Путь до SSL-сертификата. Допускается использовать тот же сертификат, что был сгенерирован на стороне Access Server (указан в конфигурационном файле config.toml в параметре cert). |
| Ключ SSL-сертификата. Допускается использовать тот же ключ, что был сгенерированы на стороне Access Server (указан в конфигурационном файле config.toml в параметре private_key). |
proxy_pass | Директива, указывающая IP-адрес и порт, куда Nginx должен перенаправлять входящие запросы (по умолчанию используется порт 4010, но может быть настроен произвольный). |
2. В конце конфигурационного файла на стороне Nginx добавить секцию:
server {
listen 80;
listen 443;
server_name "";
return 444;
}
Настройка приложения на стороне административной консоли Access Server
Для последующей настройки и публикации веб-приложения посредством Reverse Proxy задайте два параметра:
Базовый URL- тот URL, который был на предыдущем шаге указан в параметре server_name;URL приложения- целевой адрес (хост или IP-адрес), на котором размещено и доступно со стороны Сервера Системы целевое веб-приложение.
