温馨提示×

Linux OpenSSL如何配置HSTS

小樊
39
2025-10-14 07:11:05
栏目: 云计算

在Linux上使用OpenSSL配置HTTP Strict Transport Security (HSTS) 主要涉及编辑服务器的SSL/TLS配置文件。以下是一个基本的步骤指南,假设你使用的是Apache或Nginx作为Web服务器。

使用Apache

  1. 编辑SSL配置文件: 打开你的Apache SSL配置文件,通常位于 /etc/apache2/sites-available/default-ssl.conf/etc/httpd/conf.d/ssl.conf

    sudo nano /etc/apache2/sites-available/default-ssl.conf
    
  2. 添加HSTS头: 在 <VirtualHost> 块中添加以下行:

    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
    

    解释:

    • max-age=31536000:HSTS策略的有效期为一年(以秒为单位)。
    • includeSubDomains:将HSTS策略应用于所有子域名。
    • preload:将你的域名添加到HSTS预加载列表中(需要通过Chrome浏览器的HSTS预加载提交表单进行提交)。
  3. 保存并退出: 按 Ctrl+X,然后按 Y 确认保存,最后按 Enter 退出。

  4. 重启Apache: 使配置生效:

    sudo systemctl restart apache2
    

使用Nginx

  1. 编辑SSL配置文件: 打开你的Nginx SSL配置文件,通常位于 /etc/nginx/sites-available/default/etc/nginx/conf.d/default.conf

    sudo nano /etc/nginx/sites-available/default
    
  2. 添加HSTS头: 在 server 块中添加以下行:

    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
    

    解释:

    • max-age=31536000:HSTS策略的有效期为一年(以秒为单位)。
    • includeSubDomains:将HSTS策略应用于所有子域名。
    • preload:将你的域名添加到HSTS预加载列表中(需要通过Chrome浏览器的HSTS预加载提交表单进行提交)。
  3. 保存并退出: 按 Ctrl+X,然后按 Y 确认保存,最后按 Enter 退出。

  4. 重启Nginx: 使配置生效:

    sudo systemctl restart nginx
    

验证HSTS配置

你可以使用以下命令来验证HSTS头是否正确添加:

curl -I https://yourdomain.com

你应该会看到类似以下的输出:

HTTP/1.1 200 OK
...
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
...

注意事项

  • 预加载列表:如果你希望将你的域名添加到HSTS预加载列表中,你需要通过Chrome浏览器的HSTS预加载提交表单进行提交。访问 https://hstspreload.org/ 并按照说明提交你的域名。
  • 安全性:确保你的网站使用HTTPS,并且证书是有效的。HSTS要求网站必须通过HTTPS提供服务。

通过以上步骤,你可以在Linux上使用OpenSSL配置HSTS,提高网站的安全性。

0