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 2019-12-20 10:36  下雨天唱情歌  阅读(51)  评论(0编辑  收藏  举报  来源

导航