Установка proxy сервера на стороне провайдера при работе клиентов через NAT
В случае, если провайдер при предоставлении услуг интернета своим абонентом использует NAT (схему с серыми ip адресами), для корректной работы метода AUTH, необходимо на стороне провайдера установить proxy сервер для того, что бы система 24ТВ смогла могла в методе AUTH передавать серый IP пользователя для последующей его идентификации на стороне оператора. Proxy сервер должен иметь реальный IP и поддерживать работу HTTP и HTTPS.
Для этого, на сервере в сети провайдера, к которому пользователи подключаются со своих серых IP адресов, необходимо установить nginx (версии не меньше 0.7.0), со следующей конфигурацией:
server
{
listen NNNN;
listen PPPP ssl;
server_name xxx.providername.ru;
access_log logs/proxy.access.log;
error_log logs/proxy.error.log;
ssl_certificate /x/y/z_fullchain.pem;
ssl_certificate_key /x/y/z_privkey.pem;
ssl_trusted_certificate /x/y/z_chain.pem;
location /
{
resolver 1.1.1.1 valid=30s ipv6=off;
set $api https://provapi.24h.tv;
proxy_set_header Host provapi.24h.tv;
proxy_pass $api;
proxy_ssl_name provapi.24h.tv;
proxy_ssl_server_name on;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
где:
- NNNN/PPPP - порт, на котором слушает nginx.
- xxx.providername.ru - имя сервера.
В случае невозможности установить nginx требуемой версии и/или каких-либо иных проблем, касающихся SSL/TLS, допускается конфигурация с проксированием в plain HTTP, однако ее поддержка в будущем не гарантируется:
server
{
listen NNNN;
server_name xxx.providername.ru;
access_log logs/proxy.access.log;
error_log logs/proxy.error.log;
location /
{
resolver 1.1.1.1 valid=30s ipv6=off;
set $api http://provapi.24h.tv;
proxy_set_header Host provapi.24h.tv;
proxy_pass $api;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
Данный сервер nginx должен стоять внутри сети, т.е. все клиентские запросы изнутри должны приходить на него напрямую, минуя NAT, трансляцию адресов и т.п. Таким образом появляется возможность передавать серые IP адреса клиентов в рамках интеграции для корректной работы метода AUTH.
После того, как nginx будет настроен, сообщите нам адрес (PROXY URL), на который будет обращаться приложение 24ТВ (xxx.providername.ru:NNNN)
Внимание!
Запросы формируются приложением 24ТВ, установленным на Телевизорах или ТВ-Приставках. С других устройств запросы не формируются.
Можно обеспечить работу метода AUTH для WEB-приложения (сайта https://24h.tv/).
Для этого провайдер должен обеспечить работу своего proxy-сервера по доменному имени с поддержкой HTTPS (пример: https://xxx.providername.ru/ ) с корректно настроенным и своевременно обновляемым SSL-сертификатом.
После выполнения этих настроек, необходимо сообщить об этом своему аккаунт-менеджеру (для подачи заявки на включение proxy на стороне web-приложения).
Как проверить?
Для проверки, достаточно открыть URL вашего прокси (http://xxx.providername.ru/v2/users/self/network) и в случае если прокси доступен по доменному имени и по HTTPS, то в ответе будет содержаться JSON код.
Внимание!
Для того чтобы мы могли мониторить ваш прокси со своей стороны, рекомендуем вам открыть доступ к вашему прокси с адресов
- 195.191.208.0/23
- 85.112.118.13