首页主机资讯Ubuntu Nginx SSL如何配置HSTS

Ubuntu Nginx SSL如何配置HSTS

时间2025-10-17 09:52:04发布访客分类主机资讯浏览342
导读:在Ubuntu上为Nginx配置HTTP Strict Transport Security (HSTS 可以提高网站的安全性。HSTS会强制浏览器只通过HTTPS访问你的网站,从而防止中间人攻击和SSL剥离攻击。以下是配置HSTS的步骤...

在Ubuntu上为Nginx配置HTTP Strict Transport Security (HSTS) 可以提高网站的安全性。HSTS会强制浏览器只通过HTTPS访问你的网站,从而防止中间人攻击和SSL剥离攻击。以下是配置HSTS的步骤:

  1. 安装Nginx(如果尚未安装):

    sudo apt update
    sudo apt install nginx
    
  2. 生成SSL证书(如果你还没有SSL证书): 你可以使用Let’s Encrypt来生成免费的SSL证书:

    sudo apt install certbot python3-certbot-nginx
    sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
    

    按照提示完成证书的生成和配置。

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

    sudo nano /etc/nginx/sites-available/yourdomain.com
    
  4. 添加HSTS头: 在 server 块中添加以下配置:

    server {
        
        listen 80;
        
        server_name yourdomain.com www.yourdomain.com;
        
    
        # 强制重定向到HTTPS
        return 301 https://$host$request_uri;
    
    }
    
    
    server {
        
        listen 443 ssl;
        
        server_name yourdomain.com www.yourdomain.com;
        
    
        ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
        
        ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
        
        include /etc/letsencrypt/options-ssl-nginx.conf;
        
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
        
    
        # HSTS配置
        add_header Strict-Transport-Security "max-age=31536000;
         includeSubDomains" always;
    
    
        location / {
        
            root /var/www/html;
        
            index index.html index.htm;
    
        }
    
    
        # 其他配置...
    }
        
    

    解释:

    • add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; :这行代码添加了HSTS头。max-age=31536000 表示HSTS策略的有效期为一年(31536000秒),includeSubDomains 表示该策略适用于所有子域名。
    • always 表示无论响应状态码如何,都会添加HSTS头。
  5. 测试Nginx配置: 在重新加载Nginx之前,先测试配置文件是否有语法错误:

    sudo nginx -t
    
  6. 重新加载Nginx: 如果配置文件没有问题,重新加载Nginx以应用更改:

    sudo systemctl reload nginx
    
  7. 验证HSTS配置: 你可以使用浏览器的开发者工具或在线工具(如 SSL Labs)来验证HSTS头是否正确添加。

完成以上步骤后,你的Nginx服务器就会强制使用HTTPS,并且浏览器会记住这个策略,确保在未来一年内所有请求都通过HTTPS进行。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Nginx SSL如何配置HSTS
本文地址: https://pptw.com/jishu/728711.html
Ubuntu Nginx SSL如何防止中间人攻击 如何为Ubuntu Nginx SSL配置防火墙规则

游客 回复需填写必要信息