===Настройка proxy===
Прокси должен стоять внутри вашей сети, и абоненты должны иметь к нему доступ напрямую, без NAT.
Таким образом имеется возможность передать ваши внутренние серые адреса в заголовке X-Forwarded-For на наш сервер,
чтобы мы их увидели для каждого абонента. В дальнейшем данные адреса мы передаем вам для авторизации на биллинг (метод auth в api).
Для установки прокси достаточно любого существующего сервера или виртуалки.
Требованиями к ресурсам можно пренебречь, пока количество ТВ-абонентов не будет измеряться тысячами.
Используется стандартный nginx, который вы должны установить со следующей конфигурацией:
server
{
listen XXXX;
server_name 24h.providername.ru;
access_log logs/proxy.access.log;
error_log logs/proxy.error.log;
location /
{
proxy_set_header Host api.24h.tv;
proxy_pass https://api.24h.tv;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
Здесь он будет слушать на порту XXXX и переправлять запросы к нам, добавляя поле X-Forwarded-For.
Имя сервера - подставьте вместо 24h.providername.ru (должно быть создано вами в DNS) - именно к нему
будут обращаться абонентские устройства, вместо прямого обращения к api.24h.tv.
После установки сообщите нам имя сервера и порт, мы для вас пропишем его и запросы пойдут через прокси.
===Настройка одного входа API===
К сожалению сервис 24h.tv обращается к API на стороне провайдера по трем точкам входа:\\
- provider.ru/24h.tv/auth\\
- provider.ru/24h.tv/cont\\
- provider.ru/24h.tv/check\\
Для сведения обращений в одну точку входа, используйте rewrite.
К примеру если скрипты API у вас располагаются так provider.ru/24h.tv/index.php, то в случае nginx, в его конфиг добавляем следующее:
location /24h.tv/ {
rewrite ^/24h.tv/(.*)$ /24h.tv/index.php?action=$1 last;
}