ubuntu

如何在ubuntu上为nginx配置hsts

小樊
36
2025-12-18 23:22:29
栏目: 智能运维

在 Ubuntu 上为 Nginx 配置 HTTP Strict Transport Security (HSTS) 是一个很好的安全实践,可以确保浏览器始终通过 HTTPS 访问您的网站。以下是详细的步骤:

1. 确保 Nginx 已安装

首先,确保您的系统上已经安装了 Nginx。如果没有安装,可以使用以下命令进行安装:

sudo apt update
sudo apt install nginx

2. 配置 Nginx 使用 HTTPS

确保您的 Nginx 配置文件中已经配置了 HTTPS。通常,这涉及到设置 SSL 证书和密钥。以下是一个基本的 HTTPS 配置示例:

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /etc/ssl/certs/example.com.crt;
    ssl_certificate_key /etc/ssl/private/example.com.key;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
    ssl_prefer_server_ciphers on;

    location / {
        root /var/www/html;
        index index.html index.htm;
    }
}

3. 启用 HSTS

在 Nginx 配置文件中添加 HSTS 头。您可以在 server 块中添加以下配置:

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

这里的 max-age=31536000 表示 HSTS 策略的有效期为一年(365 天)。includeSubDomains 表示该策略也适用于所有子域名。

4. 重新加载 Nginx 配置

保存配置文件并重新加载 Nginx 以应用更改:

sudo nginx -t  # 检查配置文件是否有语法错误
sudo systemctl reload nginx  # 重新加载 Nginx 配置

5. 验证 HSTS 配置

您可以使用浏览器的开发者工具或在线工具(如 SSL Labs)来验证 HSTS 配置是否正确应用。

注意事项

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

通过以上步骤,您可以在 Ubuntu 上为 Nginx 配置 HSTS,从而提高网站的安全性。

0
看了该问题的人还看了