您可以从命令行免费执行此操作:
安装 Certbot 客户端:
$ sudo brew install wget
$ wget https://dl.eff.org/certbot-auto
$ chmod a+x ./certbot-auto
$ ./certbot-auto --help
然后,生成证书:
$ cd certbot (if not already there)
$ sudo ./certbot-auto certonly --debug -a manual -d www.yoursite.com -d yoursite.com (<--if you want naked too.)
您应该进入一个屏幕,告诉您验证域所需的质询 URL 和响应。添加每个并部署。让每个 url 工作。(更新时需要它们。)如果你同时做裸和 www,你需要做两次挑战 URL,每个子域一次。最后,您应该收到以下消息:
- 恭喜!您的证书和链已保存在 /etc/letsencrypt/live/www.yoursite.com/fullchain.pem。您的证书将于 2016-xx-07 到期。要在将来获得此证书的新版本或经过调整的版本,只需再次运行 certbot-auto。要以非交互方式更新所有证书,请运行“certbot-auto renew”
将目录更改为放置 pem 文件的位置:
$ cd /private/etc/letsencrypt/live/www.yoursite.com
创建未加密的密钥(这是您上传到 GAE 的密钥。如果失败,请使用原始 privkey.pem):
$ sudo openssl rsa -in privkey.pem -out unencrypted_key.pem
转到:https ://console.cloud.google.com/appengine/settings/certificates?project=yoursite 。点击Upload a new SSL certificate
在文本编辑器中打开这些 PEM 文件,然后复制/粘贴字段中的内容。(fullchain.pem
是公钥。 unencrypted_key.pem
是未加密的私钥。)
注意:确保删除任何尾随空格或换行符!
那应该这样做。
调试:
如果,当您将证书粘贴到 GAE 设置页面时,您会收到invalid
错误消息:
如果您收到自制错误:
$ cd /usr/local/Library
$ sudo git pull origin master
如果得到 augeas 错误:
$ brew install augeas
如果得到警告:augeas-1.4.0 已经安装,它只是没有链接
$ sudo brew link augeas
如果 ExecutableNotFound:
$ brew install dialog
如果得到警告:dialog-1.2-20150920 已经安装,它只是没有链接
$ sudo brew link dialog
更新:
$ cd certbot
$ ./certbot-auto certonly --debug --force-renew -a manual -d www.yoursite.com -d yoursite.com
(您可能会收到“无法访问...”错误,但仍会创建证书。)将目录更改为放置 pem 文件的位置:
$ cd /private/etc/letsencrypt/live/www.yoursite.com
创建未加密的密钥(这是您上传到 GAE 的密钥。如果失败,请使用原始 privkey.pem):
$ sudo openssl rsa -in privkey.pem -out unencrypted_key.pem
fullchain.pem
是公钥。
unencrypted_key.pem
是未加密的私钥
转到 GAE 设置并按照上述说明进行安装。