certbot申请SSL证书及中间证书问题

    首先是到https://certbot.eff.org/上申请证书,由于我们使用的web服务器是基于erlang的cowboy的,在主页上没有选项可以支持,因此在Software下拉项中选择"None of the Above",操作系统用的是ubuntu16.04,因此在System下拉项中选择"Ubuntu 16.04(Xenial)"。

    按照其操作安装certbot结束后输入命令:

    sudo certbot certonly --standalone -d xyz.com -d www.xyz.com

    上述命令的standalone选项表示使用certbot内置的webserver(需要关闭在80端口上运行的webserver,如果有的话)为域名xyz.com, www.xyz.com生成证书;certonly表示不做任何自动安装的操作。接着进入一系列的交互,最终在提示的目录下生成:

    cert.pem: 服务端证书

    chain.pem: 浏览器需要的所有证书但不包括服务端证书,比如根证书和中间证书

    fullchain.pem: 包括了cert.pem和chain.pem的内容

    privkey.pem: 证书的私钥

    我们游戏上Facebook后出现Android机器连接失败的问题,使用SSL证书检测网站检查了下,中间证书缺失。重新生成证书后,在cowboy中启动SSL时需要注意按以下项配置:

    [{cacertfile, "path/fullchain.pem"},

     {certfile, "path/cert.pem"},

     {keyfile, "path/privkey.pem"}]

    此时再检测时成功通过,Android也正常连接,问题解决。

posted on 2018-07-20 16:19  莫行  阅读(3690)  评论(0编辑  收藏  举报

导航