hsts apache 2.4 没有触发?

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 操作并看到响应仍然清晰。

这难道不应该是安全连接吗?还是我遗漏了什么?我以为从现在起浏览器只会尝试访问安全网站)

答案1

这可能是您尝试混淆域名的结果,但 HSTS 需要 FQDN www.example.com,并且不适用于诸如 之类的短主机名www

答案2

由于我正在测试,所以我没有有效的证书,它是自签名的。哎呀。活到老学到老。

相关内容