Hallo zusammen,
ich bereite derzeit einen VirtualHost für rein administrative/kritische Zwecke vor. Dies erfordert maximale Absicherung. In meinem Fall nutze ich Basic_Auth zusammen mit fail2ban, was auch bestens funktioniert. Damit Letsencrypt Zertifikate automatisch erneuert werden können, muss ich das dafür erforderliche Directory (.well-known) von Basic_Auth ausschließen. Dies mache ich wie folgt:
xx xx xx <Directory "/var/www/subdomain.example.com/public_html"> Options FollowSymLinks AllowOverride None # set an environtment variable "noauth" if the request starts with "/.well-known/" # This is needed for Letsencrypt certificates SetEnvIf Request_URI ^/.well-known/ noauth=1 AuthType Basic AuthName "Restricted Content" AuthUserFile /ir/gend/wo/.htpasswd <RequireAny> Require env noauth Require env REDIRECT_noauth Require valid-user </RequireAny> SSLOptions +StdEnvVars DirectoryIndex index.html index.php </Directory> xx xx xx
Dies funktioniert weitgehend. Jetzt aber das Problem: Rufe ich die Subdomain im Browser auf, ohne etwas anzuhängen (subdomain.example.com/), so wird eine vorhandene index.html trotzdem ausgeliefert. Rufe ich hingegen "subdomain.example.com/index.html" auf, so wirkt Basic_Auth wie erwartet.
Kann mir jemand erklären, wie ich das verhindern kann?