На моем сервере разработки вход осуществляется только с помощью сертификата (HTTPS на 443), а HTTP на 80 перенаправляет на HTTPS. Без перенаправления ДОСТУП НЕ ЗАПРЕЩЕН, и каждый может пойти куда угодно, потому что я не могу делать «требовать» по HTTP, а не по HTTPS, потому что «требовать» работает только с LOCATION / FILE, а не с VHOST.
Можно ли доверять перенаправлению, чтобы всегда запрещать доступ к HTTP? Достаточно ли это безопасно?
Соответствующие настройки:
В расположении / var / www / html /:
Require All granted
Options Indexes FollowSymLinks
На vhost [ip сервера]: 80
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]
На vhost [ip сервера]: 433
SSLVerifyClient require
Да. Если каждый запрос перенаправляется, больше ничего не остается. Однако вы слишком усложняете RewriteCond %{HTTPS} off
. HTTP VirtualHost
мог иметь только один простой mod_alias Redirect
За все. Когда у него даже нет DocumentRoot
также становится легче понять, что он не будет обслуживать никакого контента.
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Redirect permanent / https://example.com/
</VirtualHost>