美文网首页
Google Let's Encrypt 证书

Google Let's Encrypt 证书

作者: xiaofudeng | 来源:发表于2017-11-17 00:24 被阅读0次

背景

因为国内域名不备案, 如果不使用HTTPS访问网站, 那么会直接提示温馨提示:该网站暂时无法访问. 而且也正是因为HTTP请求会被拦截, 所以Google Let's Encrypt命令行工具也无法使用, 因为其需要通过HTTP请求来完成验证.

手工获取证书

网站: SSL For Free

  1. 在输入框中输入多个域名 (使用空格隔开):
    api.domain.com class.domain.com www.domain.com
  2. 点击Create Free SSL Certificate按钮
  3. 选择验证方式 - Manual Verification (DNS)
  4. 登录DNS管理网站, 添加TXT记录
    SSL FOR FREE网站会叫你手动添加5条TXT DNS记录. 比如说
    host为_acme-challenge.api.domain.com, 值为Ak0E7oILRNkxggHPYSQRykZKSF3oyrNq6P7c0HB4rTg. 那么在DNS管理那里添加TXT记录的时候在host那里输入_acme-challenge.api即可. 自己的域名(domain.com)那部分不需要写进去.
  5. 点击Download SSL Certificate之前, 先手动点击那几个网址验证一下, 因为DNS记录需要一些时间才能生效.
  6. 点击Download SSL Certificate下载证书.

配置

解压得到三个文件, 然后在命令行输入:

echo -e "$(cat certificate.crt)\n$(cat certificate.crt)" > cert_chain.crt

这里要注意\n是必须的, 要保证合并的crt文件的格式如下:

-----BEGIN CERTIFICATE-----
secret
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
secret
-----END CERTIFICATE-----

即不能-----END CERTIFICATE----------BEGIN CERTIFICATE-----在同一行, 否则Nginx会报错.

Nginx 配置:

ssl_certificate /path/cert_chain.crt;
ssl_certificate_key /path/private.key;

配置好后记得sudo service nginx restart一下.

相关文章

网友评论

      本文标题:Google Let's Encrypt 证书

      本文链接:https://www.haomeiwen.com/subject/uahdvxtx.html