最新消息:欢迎加入小松的QQ群一起讨论一起学习,多说即将关闭,感觉好可惜啊

小松博客启用免费SSL证书申请 Let’s Encrypt

Linux 258浏览 0评论

之前SSL证书有看到新闻说chrome之后的版本不在支持【推荐阅读:chrome不只信任StartCom和沃通CA证书的解决方法】,于是想的把ssl证书切换到Let’s Encrypt
貌似Let’s Encrypt名字改成Certbot

官网地址: https://certbot.eff.org/

之前openssl升级过,为什么要升级openssl【推荐阅读:nginx配置http2无效不起作用 】,一直都没有安装成功过

主要错误提示

Installation succeeded.
/root/.local/share/letsencrypt/lib/python2.6/site-packages/cryptography/__init__.py:26: DeprecationWarning: Python 2.6 is no longer supported by the Python core team, please upgrade your Python. A future version of cryptography will drop support for Python 2.6
  DeprecationWarning
Traceback (most recent call last):
  File "/root/.local/share/letsencrypt/bin/letsencrypt", line 7, in <module>
    from certbot.main import main
  File "/root/.local/share/letsencrypt/lib/python2.6/site-packages/certbot/main.py", line 14, in <module>
    from acme import jose
  File "/root/.local/share/letsencrypt/lib/python2.6/site-packages/acme/jose/__init__.py", line 37, in <module>
    from acme.jose.interfaces import JSONDeSerializable
  File "/root/.local/share/letsencrypt/lib/python2.6/site-packages/acme/jose/interfaces.py", line 9, in <module>
    from acme.jose import util
  File "/root/.local/share/letsencrypt/lib/python2.6/site-packages/acme/jose/util.py", line 5, in <module>
    import OpenSSL
  File "/root/.local/share/letsencrypt/lib/python2.6/site-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import rand, crypto, SSL
  File "/root/.local/share/letsencrypt/lib/python2.6/site-packages/OpenSSL/rand.py", line 12, in <module>
    from OpenSSL._util import (
  File "/root/.local/share/letsencrypt/lib/python2.6/site-packages/OpenSSL/_util.py", line 6, in <module>
    from cryptography.hazmat.bindings.openssl.binding import Binding
  File "/root/.local/share/letsencrypt/lib/python2.6/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 15, in <module>
    from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: /root/.local/share/letsencrypt/lib/python2.6/site-packages/cryptography/hazmat/bindings/_openssl.so: undefined symbol: EC_GROUP_new_curve_GF2m

在网上找解决方法,就找到一个别人解决的方法,文章中命令比较乱,现在把要执行的命令,复制下来

yum remove openssl-devel
cd ~/.local/share/letsencrypt/bin/
./pip uninstall cryptography pyopenssl -y
rm -rf ~/.cache/
./pip install cryptography pyopenssl
ldd ~/.local/share/letsencrypt/lib/python2.7/site-packages/cryptography/hazmat/bindings/_openssl.so

然而我执行并没有卵用
文章连接地址: https://xvcat.com/post/892

我的解决方法

那就是把openssl的
/usr/bin/openssl和/usr/include/openssl恢复成原来的
这样安装openssl的命令只有到make && make install就可以了

这个方法果然奏效了,Let’s Encrypt的证书果然申请通过

Let’s Encrypt的安装过程

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto

./certbot-auto certonly --webroot --email qiuyisong@gmail.com --agree-tos -w /home/wwwroot/www.phpsong.com -d phpsong.com -d www.phpsong.com -d static.phpsong.com

PS.安装过程慢可以看修改一个pip的国内镜像
生成的证书等都在这个目录下面/etc/letsencrypt

出现Congratulations就表示安装成功了

Let’s Encrypt安装

网站设置ssl证书

我之前启用过证书,之前要证书替换一下就好了,如果不知道怎么设置【推荐阅读: 小松博客修改成https

ssl_certificate /etc/letsencrypt/live/phpsong.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/phpsong.com/privkey.pem;

Let’s Encrypt 的证书有效期为 90 天,所以需要在到期前 renew 一下证书

在 crontab 里加入定时任务,每隔 60 天的凌晨 4 点执行一次 renew

0 4 */60 * * /path/to/certbot-auto renew &>> /dev/null

到此Let’s Encrypt的证书就正式启用了

QQ交流群:136351212

如无特别说明,本站文章皆为原创,若要转载,务必请注明以下原文信息:
转载保留版权:小松博客» 小松博客启用免费SSL证书申请 Let’s Encrypt
本文链接地址:https://www.phpsong.com/2980.html

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
木有头像就木有JJ!点这里按步骤申请Gravatar头像吧!

网友最新评论 (3)

加载中,请稍候...
  1. 推荐acme.sh
    黑暗游侠3个月前 (01-07)回复
    • 目前使用的是官方的应该不会差
      小松3个月前 (01-08)回复
  2. 还是我比较懒,使用的一键lnmp1.4,加入了这个脚本,不过目前使用的是万网的免费ssl
    何先生1个月前 (02-19)回复