【速查】Nginx 配置 HTTPS 只需5分钟 - linux运维
【速查】Nginx 配置 HTTPS 只需5分钟 - linux运维

Nginx 配置 HTTPS 只要5分钟

别整那些花里胡哨的,直接开干。假设你已经装了 Nginx,域名解析也配好了。

【速查】Nginx 配置 HTTPS 只需5分钟 - linux运维

第一步:搞到证书

最快方案:Let’s Encrypt + certbot

# Ubuntu/Debian
sudo apt install certbot python3-certbot-nginx

# CentOS/RHEL
sudo yum install certbot python3-certbot-nginx

# 直接签发
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

等30秒,证书自动配好,HTTPS直接能用。certbot 还会自动续期,省心。

手动方案(自己签或者买商业证书)

把证书文件扔到服务器,比如 /etc/nginx/ssl/ 目录下:
yourdomain.com.crt — 证书文件
yourdomain.com.key — 私钥

第二步:配置 Nginx

完整配置模板,直接复制改域名

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name yourdomain.com www.yourdomain.com;

    # 证书路径(certbot自动签发的在这里)
    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-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 1d;
    ssl_session_tickets off;

    # 根目录和反向代理按需改
    root /var/www/yourdomain;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
        # 如果是反向代理,注释上面这行,用下面这个
        # proxy_pass http://127.0.0.1:3000;
    }
}

第三步:检查并重载

# 测试配置语法
sudo nginx -t

# 没问题就重载
sudo systemctl reload nginx
# 或者
sudo nginx -s reload

第四步:验证

浏览器打开 https://yourdomain.com,锁图标亮了就完事。

也可以用命令行:

curl -I https://yourdomain.com

额外收尾

强制 HSTS(可选但推荐)
在 server 块里加一行:

add_header Strict-Transport-Security "max-age=63072000" always;

检查证书到期

# 手动看
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -dates

# certbot 自动续期测试(默认每天跑两次)
sudo certbot renew --dry-run

常见坑
– 防火墙没开 443 端口:sudo ufw allow 443/tcp
– 证书权限问题:私钥文件权限设 600
– 配置文件改完记得 nginx -t 再 reload,别手滑

搞定,前后不超过5分钟。

📚 推荐资源

– 部分链接含推广返佣 –

🪐 加入「渗透实战安全圈」

每天分享渗透测试实战、挖洞技巧、漏洞分析、工具推荐

知识星球

https://t.zsxq.com/40MyD

💻 安全运维 / Linux运维 / 渗透测试 技术支持
业务需求可联系博客作者

By admin

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注