Можете ли вы успешно выполнить ssh -l pi -p 9001 win
из окна Windows? И если вы попробуете ssh -l pi -p 9001 127.0.0.1
?
Если вы можете сделать последнее, но не можете сделать то же самое из окна Linux, проблема может заключаться в том, что вы слушаете порт 9001 только на местной стороне. Пожалуйста, посмотрите справочную страницу по ssh, в частности, описание -L [bind_address:] port: host: hostport
. Чтобы прослушивать порт 9001 также на общедоступной стороне, вы можете настроить свой туннель следующим образом: ssh -L *: 9001: pi: 22 pi @ pi
.
После изучения и проведения некоторых тестов стало очевидно, что Apple CNA является собственным веб-браузером; очевидно, что если исключение не будет сделано должным образом, все последующие запросы снова будут иметь один и тот же пользовательский агент. Таким образом, он запустит перенаправление процедуры/портала с нуля, что приведет к зацикливанию перенаправления.
Таким образом, согласно правилу Apple, мы больше не будем перенаправлять , если конечным хостом является сервер авторизованного портала.
# apple
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^CaptiveNetworkSupport(.*)$ [NC]
RewriteCond %{HTTP_HOST} !^192.168.2.1$
RewriteRule ^(.*)$ http://192.168.2.1/captive/portal.html [L,R=302]
# android
RedirectMatch 302 /generate_204 http://192.168.2.1/captive/portal.html
# windows
RedirectMatch 302 /ncsi.txt http://192.168.2.1/captive/portal.html
Мы также добавляем сюда общее правило перехвата -всех, которое, если ни одно из предыдущих условий не выполняется или мы имеем дело с ОС, для которой у нас нет правила, будет перенаправлено на портал если еще не там(например не посещать закрытый каталог ).
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/captive/ [NC]
RewriteRule ^(.*)$ http://192.168.2.1/captive/portal.html [L]
Очевидно, я хотел бы подчеркнуть, что при такой конфигурации все файлы, относящиеся к порталу авторизации, должны находиться в каталоге /captive.
См. также Обнаружение авторизованного портала, реализация всплывающих окон?