Как заставить авторизацию.htaccess происходить через ssl?

Я пытаюсь заставить определенный каталог требовать только разрешенные IP-адреса и действительное имя пользователя / пароль через базовую авторизацию. Чтобы гарантировать, что имя пользователя / пароль отправляются в зашифрованном виде, я хочу, чтобы каталог также принудительно использовал SSL. Вот что у меня есть в моем файле.htaccess:

# Force HTTPS-Connection
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*)  https://www.mywebsite.com%{REQUEST_URI} [R,L]

## password begin ##
AuthName     "Restricted Access"
AuthUserFile /var/www/admin/.htpasswd
AuthType     Basic
Require valid-user
Order deny,allow
Deny from all
Allow from 79.1.231.151 62.123.134.83
Satisfy All

К сожалению, когда я захожу в этот каталог по протоколу http, он запрашивает пароль, прежде чем перенаправляет страницу в безопасную версию. Это означает, что пароль отправляется в незашифрованном виде. Что я делаю неправильно? Есть ли способ сделать это?

3 ответа

Попробуйте поместить SSLRequireSSL в свой файл.htaccess или в глобальную конфигурацию Apache httpd.

Перезаписи и перенаправления обрабатываются после авторизации. Однако: псевдонимы в вашем httpd.conf адресуются первыми.

Так что я сделал, чтобы мое http: // имя_сервера / веб-почта на https://webmail.servername/ было поместить его в httpd.conf следующим образом:

<IfModule alias_module>
   Redirect permanent /webmail https://webmail.servername
</IfModule>

Базовая авторизация может остаться в вашем.htaccess и будет выполнена только после ПОСЛЕ перенаправления...

Если у вас есть доступ к конфигурации Apache, добавьте раздел аутентификации в VirtualHost с включенным SSL. Тогда перенаправление всегда будет происходить первым.

Кроме того, используя mod_rewrite выполнить простое перенаправление немного излишне. Вместо этого используйте директиву Redirect. Возможно, это может даже решить вашу проблему, как я полагаю mod_rewrite Правила - это некоторые из последних директив, которые нужно обработать, непосредственно перед тем, как файл будет фактически извлечен из файловой системы.

Другие вопросы по тегам