HTTPS证书申请、Nginx配置及自动续期操作指南

HTTPS证书申请、Nginx配置及自动续期操作指南

在当前互联网环境中,确保网站的安全性变得越来越重要。HTTPS协议通过SSL/TLS加密技术来保护数据传输过程中的安全,而这一过程离不开SSL证书的使用。本文将详细介绍如何申请免费的HTTPS证书,并将其配置到Nginx服务器上,以及如何设置证书自动续期以确保长期有效。

一、申请HTTPS证书

为了简化流程并保证成本效益,这里推荐使用Let’s Encrypt提供的免费证书。Let’s Encrypt是一个非盈利组织,旨在为全球网站提供免费的SSL/TLS证书。我们可以使用Certbot工具来自动化证书的申请和安装过程。

  1. 安装Certbot

    • 对于Ubuntu/Debian系统,可以通过以下命令安装Certbot:
      sudo apt-get update
      sudo apt-get install certbot python3-certbot-nginx
      
    • 对于CentOS/RHEL系统,可以使用EPEL仓库来安装Certbot:
      sudo yum install epel-release
      sudo yum install certbot python3-certbot-nginx
      
  2. 获取证书

    • 使用Certbot获取证书非常简单,只需要运行一个命令即可完成证书的申请和自动配置:
      sudo certbot --nginx -d example.com -d www.example.com
      
    • 这个命令会自动检测你的Nginx配置文件,并添加必要的SSL配置。如果一切顺利,你将被提示输入电子邮件地址(用于接收重要的更新通知)并同意服务条款。
二、配置Nginx以支持HTTPS

一旦成功获取了证书,接下来需要正确配置Nginx以启用HTTPS。假设你已经安装并运行了一个Nginx实例。

  1. 检查Nginx是否支持SSL模块

    • 确保Nginx已编译有--with-http_ssl_module选项。可以通过如下命令检查:
      nginx -V 2>&1 | grep -- '--with-http_ssl_module'
      
    • 如果未找到该模块,则需要重新编译Nginx或者使用包管理器安装包含SSL模块的版本。
  2. 编辑Nginx配置文件

    • 打开Nginx站点配置文件,通常位于/etc/nginx/sites-available/目录下。
    • 添加或修改现有的server块,以监听443端口(HTTPS默认端口),并指定SSL证书路径:
      server {
          listen 443 ssl;
          server_name example.com;
      
          ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
          ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
      
          # SSL相关参数
          ssl_protocols TLSv1.2 TLSv1.3;
          ssl_ciphers HIGH:!aNULL:!MD5;
          ssl_prefer_server_ciphers on;
      
          location / {
              proxy_pass http://localhost:8080;  # 根据实际情况调整
          }
      }
      
      # 重定向所有HTTP请求到HTTPS
      server {
          listen 80;
          server_name example.com;
          return 301 https://$host$request_uri;
      }
      
  3. 测试并应用配置

    • 测试Nginx配置是否正确:
      sudo nginx -t
      
    • 如果没有错误发生,重新加载Nginx配置:
      sudo systemctl reload nginx
      
三、设置证书自动续期

由于Let’s Encrypt颁发的证书有效期只有90天,因此需要定期进行续期。Certbot提供了自动续期功能,可以通过设置定时任务来实现:

  1. 创建Cron Job
    • 编辑Cron表以添加新的任务:
      crontab -e
      
    • 在文件末尾加入以下行,这将在每天凌晨两点尝试自动续期证书:
      0 2 * * * /usr/bin/certbot renew --quiet
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值