Heggi Опубликовано 7 марта, 2014 · Жалоба Делаю роутер для Free Wifi Hotspot с рекламой. Рекламная страница должна показываться один раз при подключении. Т.е. юзер подключается к вафле, открывает браузер, вместо его любимого сайта открывается рекламка с кнопкой продолжить. Юзер жмякает по кнопке продолжить и его редиректит на его любимый сайт. В принципе все сделал: Завернул с помощью iptables весь трафик по 80 порту в nginx, установленный на роутере. nginx на любой url отдает 302 редирект на страничку с рекламой Со странички по нажатию на кнопку открываем доступ, делаем переход на исходный сайт, но вот тут подстава: браузер запомнил, что на mail.ru (к примеру) отдавался код 302 и сразу уходит снова на страничку с рекламой. Делал 5-ти секундную задержку для перехода (чтобы Iptables точно успевал отработать) - не помогло. Через пару минут браузер идет сразу на mail.ru Конфиг nginx: server { listen 80; server_name localhost; access_log /var/log/nginx/access.log vhost_ip_full_format; root /var/www/htdocs; index index.php; location / { if ($host !~ ^(192.168.100.1)$ ) { add_header Cache-Control "no-cache, no-store"; expires 0; rewrite ^ http://192.168.100.1/index.php?host=$host$request_uri redirect; } } location ~ \index.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/htdocs$fastcgi_script_name; include fastcgi_params; } } Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 7 марта, 2014 · Жалоба Дело не в браузере, а в iptables. Редирект остаётся в conntrack. Попробуйте его оттуда удалять (см. conntrack-tools). Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 7 марта, 2014 · Жалоба connection close!!! а у вас походу кипалив с нгинхом, вот иптаблес и продолжает пересылать пакеты ибо соединение ещё активно, а оно у него в контраке должно быть... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Heggi Опубликовано 11 марта, 2014 · Жалоба Если делаю редирект на любой другой сайт, то все проходит нормально. Как может быть keepalive с nginx, если я по-сути по разным адресам скачу? mail.ru -> 192.168.100.1 -> mail.ru Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Heggi Опубликовано 11 марта, 2014 · Жалоба Хм. и правда keepalive_timeout 0 помог, Правда IE все-равно тупит и только со второго раза переходит куда надо. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 12 марта, 2014 · Жалоба Сделайте чтобы нгинх отдавал: connection: close заголовок, ну может ещё в нём настройки есть для этого. и браузеры будут сами рвать соединение после получения ответа. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...