当前位置: 首页 > news >正文

SSL 证书申请以及配置流程

SSL 证书申请以及配置流程

手动申请免费 SSL 证书的简明指南

如果你希望手动为你的网站申请免费的 SSL 证书,Let’s Encrypt 提供了一个很棒的免费服务。而 Certbot 则是官方推荐的工具,可以帮助你完成证书的申请和配置。以下是如何一步步完成的详细说明。

第一步:安装 Certbot

首先,我们需要在服务器上安装 Certbot。根据你服务器的系统类型,安装方法可能会有些不同:

  • Ubuntu
    sudo apt-get update
    sudo apt-get install certbot
    
  • CentOS
    sudo yum install certbot
    

Certbot 安装好后,我们就可以开始申请 SSL 证书啦。

第二步:手动申请证书

想要手动申请证书,我们使用 Certbot 的 certonly 参数,这样你可以完全掌控整个过程,不会对你的 Web 服务器配置造成自动修改。下面是具体命令:

sudo certbot certonly --manual -d yourdomain.com -d www.yourdomain.com

这段命令的意思是:我们手动申请 yourdomain.com 以及 www.yourdomain.com 的证书。接下来,Certbot 会给你提供几种验证方法,以确认你对该域名的控制权。

  • DNS 验证:Certbot 会让你在域名的 DNS 设置中添加一条 TXT 记录。这些记录可能需要一些时间才能生效,但只要验证成功,证书就会顺利生成。
  • HTTP 验证:如果你更喜欢使用 HTTP 验证,Certbot 会让你在域名根目录下创建一个 .well-known/acme-challenge 文件夹,并放入特定的文件。具体步骤如下:
    1. Certbot 会提供一个文件名和文件内容。
    2. 在你的域名根目录下创建一个目录:
      mkdir -p .well-known/acme-challenge
      
    3. 在该目录下创建指定的文件,并将 Certbot 提供的内容写入文件中:
      echo '文件内容' > .well-known/acme-challenge/文件名
      
    4. 确保可以通过浏览器访问该文件,例如:
      http://yourdomain.com/.well-known/acme-challenge/文件名
    5. 请确保在 Nginx 配置文件中添加以下内容来允许访问 .well-known 目录:
      location ^~ /.well-known/acme-challenge/ {allow all;default_type "text/plain";root /path/to/your/web/root;
      }
      

第三步:证书文件在哪里?

一旦验证完成,Certbot 会在 /etc/letsencrypt/live/yourdomain.com/ 目录下生成证书文件,这些文件包括:

  • fullchain.pem:这是你的完整证书链文件。
  • privkey.pem:这是你的私钥文件。

请务必记住这些路径,稍后你将用到它们来配置你的 Web 服务器。

第四步:配置 Web 服务器

拿到证书后,我们还需要让你的 Web 服务器知道这些证书的存在。

配置 Nginx

如果你使用的是 Nginx,可以这样配置你的站点文件(例如 /etc/nginx/sites-available/yourdomain.conf):

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;# 其他站点配置...
}

修改完成后,重启 Nginx 以应用新的配置:

sudo systemctl restart nginx
配置 Apache

如果你用的是 Apache,请编辑对应站点的配置文件(例如 /etc/apache2/sites-available/yourdomain.conf):

<VirtualHost *:443>ServerName yourdomain.comServerAlias www.yourdomain.comSSLEngine onSSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pemSSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem# 其他站点配置...
</VirtualHost>

完成编辑后,别忘了重启 Apache:

sudo systemctl restart apache2

第五步:续期证书

Let’s Encrypt 的证书有效期为 90 天,所以我们需要定期续期。幸好,Certbot 提供了非常方便的续期工具,只需运行以下命令即可:

sudo certbot renew

在进行正式续期之前,你可以先测试一下:

sudo certbot renew --dry-run

这个命令会模拟续期过程,以确保没有任何问题。


http://www.lryc.cn/news/482423.html

相关文章:

  • [Docker#4] 镜像仓库 | 部分常用命令
  • 工业通信协议对比:OPC-UA、Modbus、MQTT、HTTP
  • docker 常用方法
  • 区块链技术入门:以太坊智能合约详解
  • 特定数据库的备份脚本
  • uni-app打包后报错云服务空间未关联
  • FPGA学习(10)-数码管
  • C++(继承)
  • 华为OD机试 - RSA加密算法(Java 2024 E卷 100分)
  • 分组校验在Spring中的应用详解
  • torch.nn.**和torch.nn.functional.**的区别
  • Air780E基于LuatOS编程开发
  • 贪心算法-汽车加油
  • Qt信号和槽-->day04
  • 【Linux】为终端命令自定义快件键并弹窗提醒 设置快捷键切换网络代理(Network Proxy)Disabled/Manual 并弹窗提醒
  • 十六:Spring Boot依赖 (1)-- spring-boot-starter 依赖详解
  • 讲讲关于SNMP与智能PDU插座
  • 在CentOS下安装RabbitMQ
  • 前端使用Canvas实现网页电子签名(兼容移动端和PC端)
  • 什么是OSTRPT报文?
  • PICO+Unity MR空间锚点
  • electron 中 contextBridge 作用
  • 15分钟学 Go 第 42 天:RESTful API设计
  • 如何安全的中断一个运行中的线程?
  • 【121. 买卖股票的最佳时机】——贪心算法/动态规划
  • LLMs之Calculate:利用大语言模型技术基于文本内容实现数字计算能力的简介、常用方法、代码实现之详细攻略
  • LeetCode题练习与总结:判断子序列--392
  • json数据结构的转换
  • mysql删除语句:@Update(“TRUNCATE TABLE employee“)讲解
  • 如何修改浏览器指纹?