debian

Nginx SSL如何保护Debian服务器

小樊
33
2025-06-24 06:47:00
栏目: 云计算

在Debian服务器上配置Nginx以使用SSL证书可以显著提高数据传输的安全性。以下是详细的步骤和建议,帮助你保护服务器免受未授权访问。

安装Nginx和获取SSL证书

  1. 安装Nginx
sudo apt update
sudo apt install nginx
  1. 获取SSL证书
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

配置Nginx以启用SSL

  1. 编辑Nginx配置文件
sudo nano /etc/nginx/sites-available/yourdomain.com
  1. 添加以下内容
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;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256;
    ssl_prefer_server_ciphers on;
    ssl_session_timeout 10m;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off;
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8 valid=300s;
    resolver_timeout 5s;
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";
    root /var/www/yourdomain.com;
    index index.html index.htm;
    location / {
        try_files $uri $uri/ =404;
    }
}
  1. 测试Nginx配置
sudo nginx -t
  1. 重新加载Nginx
sudo systemctl reload nginx

强化SSL配置

  1. 指定Nginx用户组
sudo adduser --system --no-create-home --disabled-login --group nginx
  1. 禁用弱SSL/TLS协议及弱加密套件
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256';
ssl_prefer_server_ciphers on;
  1. 隐藏Nginx版本信息
server_tokens off;
  1. 隐藏上游代理标头
proxy_hide_header X-Real-IP;
proxy_hide_header X-Forwarded-For;

通过以上步骤,你可以在Debian服务器上成功配置Nginx以使用SSL证书,从而保护你的网站免受未授权访问。定期更新证书和监控SSL配置也是确保服务器安全的重要措施。

0
看了该问题的人还看了