Re: Подмена User-Agent'а для бэкенда

Alex Emergy alex.emergy на gmail.com
Вс Окт 29 20:41:32 UTC 2017


В общем дело оказалось не в nginx. Там в js user-agent проверяется.

server {
    listen 80;
    server_name myru.tv www.myru.tv;

    location / {
        add_header 'Cache-Control' 'no-store, no-cache, must-revalidate,
proxy-revalidate, max-age=0';
        expires off;
        proxy_hide_header User-Agent;
        proxy_set_header Accept "";
        proxy_set_header Accept-Encoding "";
        proxy_set_header Host $host;
        proxy_set_header User-Agent "Mozilla/5.0 (Windows NT 10.0; Win64;
x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78
Safari/537.36";

        location = /player/script.js {
            sub_filter_once off;
            sub_filter '127.0.0.1:6878' '192.168.1.11:6878';
            sub_filter '_platform=TorrentStream.Utils.detectPlatform()'
'_platform="windows"';
            sub_filter_types *;
            proxy_pass http://myru.tv;
        }

        proxy_pass http://myru.tv;
    }
}

28 октября 2017 г., 14:24 пользователь Alex Emergy <alex.emergy на gmail.com>
написал:

> Есть сайт работающий через торрент стрим. Там js делает запросы на
> локальный порт, на котором висит софтина AceStream, что-то типа:
>
> http://127.0.0.1:6878/webui/api/service?callback=
> jQuery17033631382683313515_1509188498027&method=get_
> version&format=jsonp&_=150918849805
> http://192.168.1.11:6878/server/api?method=open_in_player&content_id=
> 2920e9961c24ab4e44b07c1fab4f6b750bd2ddfa&player_id=
> 0f3a8626f1017b92058dd3cdcb2c2d15d8e5a2a3&_=1509189716189
>
> В результате чего, контент воспроизводится локально в VLC плеере.
>
> Задача: подменить локальный адрес на 192.168.1.11, на котором и весит эта
> софтина, для того, чтобы с любого устройства в локальной сети, можно было
> зайти на сайт и включить воспроизведение на телевизоре (медиасервере). Т.е.
> удалённо.
>
> Не долго думая, я прописал в DNS, адрес сайта есть мой шлюз и сделал
> конфиг в моём nigix, для подмены строк в js скрипте.
>
> server {
>     listen  80;
>     server_name myru.tv www.myru.tv;
>
>     set $ua "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like
> Gecko) Chrome/41.0.2228.0 Safari/537.36";
>
>     gzip off;
>     gunzip on;
>     gzip_proxied off;
>
>     location / {
>         proxy_set_header User-Agent $ua;
>         proxy_set_header Accept "";
>         proxy_set_header Accept-Encoding "";
>         proxy_set_header Host $host;
>         proxy_set_header X-Real-IP $remote_addr;
>         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>
>         location = /player/script.js {
>             sub_filter_once off;
>             sub_filter '127.0.0.1:6878' '192.168.1.11:6878';
>             sub_filter_types *;
>             proxy_pass http://myru.tv;
>         }
>
>         proxy_pass http://myru.tv;
>     }
> }
>
> Все работает, за исключением подмены User-Agent'а. И если не менять его в
> клиентском ПО (браузере), сайт выдаёт заглушку, типа ПО для моей платформы
> в разработке.
>
> В общем экспериментировал-экспериментировал - никак не могу заставить
> "бэкенд" думать что у меня винда(((
>
> Объясните, что я делаю не правильно
>
> --
> С уважением,
> Alex Emergy
>



-- 
С уважением,
Рулев Александр
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20171029/64c04020/attachment.html>


Подробная информация о списке рассылки nginx-ru