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

stunnel аутентификации apache

Apache прослушивает порт 80 и перенаправляет все на https, что обрабатывается stunnel. Если я ввожу аутентификацию, он перенаправляет до того, как он выполнит аутентификацию. Есть ли способ справиться с этим?

Listen 80
<VirtualHost *:80>
    RewriteEngine   On
    RewriteRule     ^(.*)   https://%{HTTP_HOST}$1

   <Directory /*>
      AuthType Basic
      AuthName "Stooges Web Site: Login with email address"
      AuthLDAPURL ldap://localhost:389/o=stooges?mail
      require valid-user
  </Directory>
</VirtualHost>

обновление: я использую stunnel вместо apache, потому что apache не может обрабатывать веб-узлы с ssl и stunnel может.

Аутентификация будет происходить только тогда, когда кто-то получит доступ к начальной странице HTTP-сервера, но, поскольку вы начали с перенаправления всех с сайта HTTP на сайт HTTPS, вы никогда не попадете в этот каталог.

Лучше всего было бы вместо этого включить аутентификацию в конфигурацию для сайта HTTPS, но если вы не можете этого сделать, я думаю, вы сможете заставить его работать с RewriteCond. На самом деле я сам этого не пробовал, но вот вам пример:

Listen 80
<VirtualHost *:80>
    RewriteEngine   On
    RewriteCond     %{AUTH_TYPE} Basic
    RewriteRule     ^(.*)   https://%{HTTP_HOST}$1

   <Directory /*>
      AuthType Basic
      AuthName "Stooges Web Site: Login with email address"
      AuthLDAPURL ldap://localhost:389/o=stooges?mail
      require valid-user
  </Directory>
</VirtualHost>

Возможно, было бы намного проще иметь index.html, содержащий перенаправление на хост HTTPS ...