kavo

Centos7 Nginx 使用 certbot 安装证书,并配置 OCSP 提高性能

官方安装教程:https://certbot.eff.org/lets-encrypt/centosrhel7-nginx

之前一直使用军哥的 Lnmp 或者宝塔,所以配置 https 都有内置命令。

这次独立的学习 Nginx ,所以在单独的学习配置 Https 证书。

由于服务器上面只安装有了 Nginx ,所以我们来安装 certbot

yum -y install yum-utils

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

yum install certbot python2-certbot-nginx

我们需要提前配置好 nginx 的 conf 文件,确保域名可正常访问,然后执行命令安装证书:

# nginx-server-root 为指定目录,后面的 dmain.com 为绑定域名
certbot --nginx --nginx-server-root=/usr/local/nginx/conf -d domain.com

#执行时可能会报相关错误,请确保安装 nginx 安装了 ssl 模块并且依赖库 open ssl

显示如下,证明安装成功:

 然后对 nginx 执行重新启动,第一次没重新启动,发现加上了 https 后无法访问。

#停止
/usr/local/nginx/sbin/nginx -s stop
#启动
/usr/local/nginx/sbin/nginx

 因为没有使用 301 扥强制跳转到 https ,所以访问网址时手动加上 https 访问,发现已出现绿色图标。

接下来为了提高 https 的访问性能,我们配置 OCSP:

使用 certbot 生成的证书有以下几个文件:

cert.pem: 服务端证书

chain.pem: 浏览器需要的所有证书但不包括服务端证书,比如根证书和中间证书

fullchain.pem: 包括了cert.pem和chain.pem的内容

privkey.pem: 证书的私钥

OCSP 所需要的证书说明:

我们可以点击浏览器的证书图标来查看证书链,一般都三层。

分别是:DST 根证书→Let’s Encrypt 中间证书→网站自己的网站证书。

如果我们的网站要开启 OCSP ,我们需要的证书只需要前两个,而且顺序一定要为 子证书在前,服务端证书在后

在这里我们观察到 certbot  生成的 fullchain.pem 证书正好符合 OCSP 的规范,所以我们默认使用它。

当然官网有说明,如果一致也可以省略填写:

若 ssl_certificate 指令指定了完整的证书链,
则 ssl_trusted_certificate 可省略。

接下来我们在 nginx 的域名配置文件中新增如下,前三行也是推荐的配置,配置 DNS 因为我是海外服务器,可自行修改

ssl_stapling             on;
ssl_stapling_verify      on;
ssl_trusted_certificate  /etc/letsencrypt/live/ssl.domain.com/fullchain.pem;
resolver 8.8.8.8 8.8.4.4 1.1.1.1 valid=60s;
resolver_timeout 2s;

此步我参考了此作者的博文:https://24dian30.com/manage/environment-manage/1818.html

然后我们执行对 nginx 指定重新加载:

 /usr/local/nginx/sbin/nginx -s reload

如何检测呢,我们打开 https://www.ssllabs.com/ssltest/

然后属于要检测的域名,稍等片刻检测完成,然后查看结果页面,发现已经成功开启。

 当然你也可以使用 openssl 命令来检测:

# openssl s_client -connect ssl.domain.com:443 -status 2>/dev/null  | grep -A 17 'OCSP response:'

 成功则返回以下:

OCSP Response Data:
    OCSP Response Status: successful (0x0)
    Response Type: Basic OCSP Response
    Version: 1 (0x0)
    Responder Id: C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
    Produced At: Dec 20 02:16:00 2019 GMT
    Responses:
    Certificate ID:
      Hash Algorithm: sha1
      Issuer Name Hash: 7EE66AE7729AB3FCF8A220646C16A12D6071085D
      Issuer Key Hash: A84A6A63047DDDBAE6D139B7A64565EFF3A8ECA1
      Serial Number: 039913BCEB7B7CED78B4D5E3CC74463C0DA1
    Cert Status: good
    This Update: Dec 20 02:00:00 2019 GMT
    Next Update: Dec 27 02:00:00 2019 GMT

 

posted on   下雨天唱情歌  阅读(59)  评论(0编辑  收藏  举报  

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示