博文

目前显示的是 四月, 2016的博文

利用letsencrypt.sh脚本来获取Let'sEncrypt的SSL证书

Let's Encrypt是个好项目,但是问题是它的客户端太臃肿了,而且到目前为止还只支持Apache,相比之下github上letsencrypt.sh只用sh脚本就实习了足够的功能了。还能适配nginx。但是,它也有它的问题——文档太少且支离破碎,根本没有成体系的手册,只能自己看代码摸索。我也是花了老半天的时间才搞定它。 首先先clone下这个项目 git clone git@github.com:lukas2511/letsencrypt.sh.git 默认有两种办法在ACME服务器上获取授权注册,我用的是配合Nginx的HTTP模式 在nginx的对应的domain server字段下添加以下设置 location /.well-known/acme-challenge {     alias /var/www/letsencrypt; } 这个在http或者https下都没问题,哪怕你https的证书有问题也可以被识别,但是如果是第一次申请,还是老老实实地放http上省得麻烦 指向的地址是需要用的WELLKNOWN变量地址 在仓库下新建一个config.sh文件,内容如下: #CA = " https://acme-staging.api.letsencrypt.org/directory " CA = " https://acme-v01.api.letsencrypt.org/directory " WELLKNOWN =/var/www/letsencrypt 第一行的CA地址是调试用的,基本上你搞这个一次是很难搞定的,用调试地址可以有效的避免被远端屏蔽  WELLKNOWN就指向我们刚才nginx中设置的地址 继续新建一个domains.txt,格式类似 aaa.com www.aaa.com b.aaa.com bbb.com ccc.bbb.com www.bbb.com rr.bbb.com 一行一个域名,每个子域名空一格  接着运行  ./letsencrypt.sh -c --config config.sh 你会看到类似这样的输出 + Signing domains... + Generating private