На моем сервере разработки вход осуществляется только с сертификатом (HTTPS на 443), в то время как HTTP на 80 перенаправляет на HTTPS. Без перенаправления ДОСТУП НЕ ЗАПРЕЩЕН, и каждый может пойти куда угодно, потому что я не могу выполнять "требовать" по HTTP, а не по HTTPS, потому что "требовать" работает только с МЕСТОПОЛОЖЕНИЕМ / ФАЙЛОМ, а не с VHOST.
Может быть выполнено перенаправление. всегда запрещать доступ к HTTP? Достаточно ли он безопасен?
Соответствующие настройки:
В месте / var / www / html /:
Require All granted
Options Indexes FollowSymLinks
В хосте [ip сервера]: 80
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]
В хосте [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>