Добрый день. Используем Nginx для редиректа на captive-портав с наших wifi-hotspot?ов. Пользователь, подключившись к не защищённой сети при любом обращении в интернет по протоколам http, https перенаправляется на наш портал, где проходит авторизацию (либо получает гостевой доступ). Возникла задача: что бы на клиентских устройствах с iOS (iPhone, iPad) при подключении к нашей сети всплывало pop-UP окно с нашим порталом. Работает это через протокол wisrp, окно называется uam(unified authorization method). Суть метода в том, что при подключении к сети ios запрашивает ссылку с ?User-Agent: CaptiveNetworkSupport-200.1 wispr?. Если он получает на это 302, то, теоретически, должно возникнуть окошко со страницей, на которую перенаправляет 302-й код. Однако, это в nginx не работает. Проверяли, что работает на microtik. Cнимали дамп пакетов c микротика, увидели следующее:
GET /library/test/success.html HTTP/1.0
Host: www.apple.com
User-Agent: CaptiveNetworkSupport-200.1 wispr
Connection: close
HTTP/1.1 302 Hotspot login required
Cache-Control: no-cache
Content-Length: 135
Content-Type: text/html
Date: Fri, 11 Oct 2013 06:37:38 GMT
Expires: 0
Location: http://10.0.2.1/login?dst=http%3A%2F%2Fwww.apple.com%2Flibrary%2Ftest%2Fsuccess.html
<html>
<head><title>Error 302: Hotspot login required</title></head>
<body>
<h1>Error 302: Hotspot login required</h1>
</body>
</html>
В случае же работы через портал сообщение следующее:
GET /UMzURpsu3rm/tumgdbEHylH.html HTTP/1.0
Host: www.appleiphonecell.com
Connection: close
User-Agent: CaptiveNetworkSupport-277 wispr
HTTP/1.1 302 Moved Temporarily
Server: nginx/0.7.67
Date: Fri, 11 Oct 2013 07:37:01 GMT
Content-Type: text/html
Content-Length: 161
Connection: close
Location: https://perm.wifi.domru.ru/index.php?request_uri=http://www.appleiphonecell.com/UMzURpsu3rm/tumgdbEHylH.html
<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>nginx/0.7.67</center>
</body>
</html>
Что сделал: пробовал через nc слать заголовки из дампа микротика ? работает, окно появляется. Пересобрал ngnix, что бы заменить 302 Moved Temporarily на 302 Hotspot login required ? не помогло.
Есть у кого-то опыт настройки подобных вещей через ngnix?