Назад | Перейти на главную страницу

.htaccess не работает внутри брандмауэра или прокси

У меня есть тестовый сайт, работающий с файлом .htaccess, определенным так:

AuthName "test"
AuthUserFile "/home/testdomain/.htpasswds/public_html/passwd"
AuthType Basic
require valid-user

Для этого требуется пользователь / пароль для всей области test.mydomain.com.

Я могу подключиться практически отовсюду, но по какой-то причине мой клиент, который находится внутри государственного брандмауэра (так что я предполагаю, что это довольно ограничительно), НЕ может войти в систему. Он продолжает терпеть неудачу с комбинацией пользователь / пароль, которую я им дал.

Одна странность, которую я не понимаю, заключается в том, что когда я загружаю файл .htaccess в "bak.htaccess" и они переходят на сайт, они проходят без экрана входа в систему, как ожидалось. Затем я возвращаю файл в ".htaccess", и они закрывают / открывают свой браузер, они возвращаются к логину .htaccess, но теперь он работает.

Я не уверен, что это проблема брандмауэра на их стороне или проблема кеширования или что-то еще. Надеюсь, что об этом что-то известно, что гуру серверов / брандмауэров могут знать, что я не знаю как разработчик.

Изменить: я должен упомянуть, если это имеет отношение: у меня также есть правило перезаписи, поэтому пользователи, приходящие на сайт не с https: //, будут перенаправлены на соответствующую страницу с https: //. Я пробовал, чтобы пользователи, которые не могут войти, полностью https://test.mydomain.com/ домен, который НЕ должен запускать правило, но все равно не работает.

Моя перезапись информации, если она актуальна:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://test.mydomain.com/$1 [R,L]

Если у них есть доступ для этого на своем компьютере, вы можете посмотреть, могут ли они попробовать другой веб-браузер. Если у них нет прав администратора и они не могут установить их, но это не противоречит их политикам, они могут запустить «переносную» / автономную версию, которая не требует установки.

Другой обходной путь - добавить строку «Удовлетворять любому» и затем разрешить доступ с их IP-адреса, если это приемлемо для них с точки зрения безопасности и у них есть статический IP-адрес. Если вы пойдете по этому пути, после того, как вы это сделаете, убедитесь, что вам все равно будет предложено ввести пароль при доступе к сайту с другого IP-адреса (то есть не с их IP-адреса) на случай, если где-то есть разрешающая директива, которая предоставляет доступ всем. Они могут получить свой IP-адрес, набрав в Google «какой у меня IP-адрес» и посмотрев, что появляется вверху.