Возникла проблема на одном онлайн – кинотеатре, у посетителей выходящих в интернет через мобильный интернет – часто меняется IP. В настройках nginx стоит модуль secure_link для блокировки хотлинков и в итоге выходит так что:
– Посетитель подулючается к сайту
– На основе его IP формируется ссылка для скачивания плеером плейлиста
– Плеер обращается к серверу на указанный ему УРЛ
– nginx проверяет правильность УРЛ и если все хорошо – отдает плейлист
– После просмотра серии – плеер автоматом грузит следующую, но получает ошибку так как IP сменился и для нового IP уже будет другой УРЛ а старый не работает.
Все это привело к большому кол-ву жалоб на ошибки у посетителей. Нормального решения не нашел кроме как отсекать последний октет IP клиента и на основе оставшегося IP делать шифролинк.
Делается это просто, прописываю в настройках вирт. хоста:
1 2 3 4 5 6 7 |
set $my_addr $remote_addr; if ($remote_addr ~ "^(\d+\.\d+\.\d+)") { set $my_addr $1; } secure_link $secure; secure_link_md5 mykeytoencurl$ureq$my_addr; |
Программист поправил у себя в коде алгоритм формирования ссылки, перезапустил nginx и все стало работать как надо. На данный момент жалоб нет.