Обратный прокси предназначен для переадресации запросов, приходящих от внешних пользователей на сервер, расположенный в корпоративной сети предприятия. Обратный прокси устанавливается на шлюзе компании, который имеет:
- как минимум один публичный (белый) IP-адрес, на который приходят запросы из сети интернет;
- подключение к корпоративной сети, например 192.168.1.0/24.
Для работы обратного прокси необходимо зарегистрировать доменное имя и добавить A-запись в DNS, указывающую на публичный IP-адрес обратного прокси. Можно зарегистрировать неограниченное количество доменных имён на один IP-адрес и, в зависимости от доменного имени, распределить приходящий трафик на разные серверы внутри корпоративной сети с помощью директивы proxy_pass.
Для примера используется доменное имя elma365client.domain.com.
В сети предприятия в примере используется IP-адрес 192.168.1.10, на котором расположен сервер с приложением ELMA365.
начало внимание
Корректная работа приложения ELMA365 невозможна через проброс портов (Port Forwarding). В этой статье приводится пример работы с использованием Nginx в качестве обратного прокси-сервера.
конец внимание
Конфигурация обратного прокси для приложения ELMA365 на примере Nginx:
server {
listen 80;
server_name elma365client.domain.com; #внешний домен, по которому будет доступна ELMA365
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name elma365client.domain.com; #внешний домен, по которому будет доступна ELMA365
ssl_certificate /etc/nginx/cert.crt;
ssl_certificate_key /etc/nginx/cert.key;
client_max_body_size 0;
location / {
proxy_pass http://192.168.1.10; #ip-адрес сервера, на котором установлена ELMA365
proxy_http_version 1.1;
proxy_cache_bypass $http_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}}
В процессе установки или при реконфигурации в поле Enter host необходимо прописать внешний домен elma365client.domain.com, по которому будет доступна ELMA365, и включить параметр SSL termination.
начало внимание
Для работы веб-сокетов в приложении обязательны параметры:
- proxy_http_version 1.1;
- proxy_set_header Upgrade $http_upgrade;
- proxy_set_header Connection "upgrade".
конец внимание