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

hsts apache 2.4 не запускается?

Я настроил Apache для использования HSTS только для целей тестирования и обучения следующим образом:

/etc/apache2/sites-enabled/000-default.conf

NameVirtualHost 192.168.3.55:80
NameVirtualHost 192.168.3.55:443
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
 </Directory>
<VirtualHost www:80>
 ServerName www
 ServerAdmin webmaster@localhost
 DocumentRoot /var/www/html
</VirtualHost>
<VirtualHost www:443>
 ServerAdmin webmaster@localhost
 DocumentRoot /var/www/html
 ServerName www
 SSLEngine on
 SSLCertificateFile "/etc/apache2/ssl/mysitename.crt"
 SSLCertificateKeyFile "/etc/apache2/ssl/mysitename.key"
 Header always set Strict-Transport-Security "max-age=63072000;includeSubdomains;"
</VirtualHost>

Я могу нормально подключиться к портам 80 и 443. Первый сайт не зашифрован, а второй есть. Все хорошо.

После того, как я захожу на сайт HTTPS, я вижу заголовки hsts нормально:

Strict-Transport-Security:max-age=63072000; includeSubdomains; 

Когда я набираю http: // www Я вижу:

Upgrade-Insecure-Requests: 1 in the header using developer tools

Однако браузер подключается к HTTP-сайту, я tcpdump запрос и вижу, что ответ также остается открытым.

Разве это не должно быть защищенное соединение, или я что-то упустил? Я думал, что с этого момента браузер будет пытаться посещать только защищенный сайт)

Это может быть результатом вашей попытки скрыть доменное имя, но для HSTS требуется полное доменное имя. www.example.com и не будет работать с короткими именами хостов, такими как www.

Поскольку я тестирую, у меня нет действующего сертификата, он был самоподписан. Ой. Живи и учись.