English |
  • 美国VPS主机推荐
  • |
  • 代购服务
  • |
  • 10美元以下VPS
  • |
  • VPS新手指南/教程
  • |
  • 留言板
  • |
  • 关于
  • | 登录 |

    LNMP Let'sEncrypt免费通配符/泛域名SSL证书添加使用教程

    2018年03月17日 上午 | 作者:VPS侦探


    Wildcard certificate俗称野卡正式点一般称为通配符或泛域名证书,也就是为*.vpser.net 签发包含所有子域名的SSL证书,从去年6、7月份左右就已经说过Let'sEncrypt将于2018年1月支持,但是几次放鸽子后最近终于证书支持了。通配符证书一般还是比较贵的一般最便宜的通配符证书5、60美元一年,只不过Let'sEncrypt的有效期是3个月,对于一般用户来说基本没差别。

    LNMP 1.5或更高版本已经添加了对通配符证书的支持,生成通配符证书和Let'sEncrypt平常SSL证书命令有些差异(通配符证书命令是 lnmp dnsssl 域名dns服务商简称,普通证书是lnmp ssl add),最好是使用域名DNS服务商的API,这样才能实现自动续期。

    域名DNS服务商API方式生成SSL证书

    如果要生成通配符证书,首先要准备好一下东西:
    域名一枚
    域名DNS服务商的名称及简称
    域名DNS服务商API操作所需的参数,如Key、Secret或Token之类的。
    已安装lnmp 1.8或者升级到1.8及更高版本(不确定的话可以下载最新的安装包,安装包目录下运行 ./upgrade1.x-1.8.sh)

    下面我们以阿里云DNS为例,需要到 https://ram.console.aliyun.com/users 这里创建子账户,选择"Open API 调用访问",获取API KEY和SECRET KEY(文章最后我们会附上常见域名DNS服务商的简称、获取API方法和所需的参数)。
    通过表格可以知道,阿里云DNS的简称为ali,我们前面获取到了API KEY和SECRTET KEY,需要先在在终端里将API操作所需的参数输出供程序使用,命令如下:

    export Ali_Key="123456"
    export Ali_Secret="abcdef"

    注意!注意!注意!这里只是例子,其他域名DNS服务的API参数命令可以在文章后面对照表中查找,别照抄!别照抄!别照抄!,该项必须export,否则将提示You don't specify dnspod api key and key id yet.失败,而且是严格区分大小写!!!

    下面开工开始添加虚拟主机并生成通配符SSL证书,命令:lnmp dnsssl alilnmp dns ali   注意!注意!注意!ali为DNS服务商的简称,下面对照表中查找,别照抄!别照抄!别照抄!如dnspod的DNS就把ali就改成dp !!!

    ali为域名DNS服务商的简称,如果使用的其他DNS服务商更换为其他DNS服务商的简称,可以在文章后面对照表格里查看DNS服务商对应简称。


    分别按提示输入域名、添加更多域名(多个域名空格隔开,如 *.lnmp.org  *.test.lnmp.org)、网站目录、是否启用日志等选项,详细介绍可以看上图文字注释。

    注意:如果要生成通配符/泛域名SSL证书,输入其他域名时不要输入www.lnmp.org 的域名,否则将生成失败!!!

    如果之前输出的API参数没问题的话,等几分钟就会生成完毕,并提示"Let's Encrypt SSL Certificate create successfully."。

    再 https://www.你的域名.com 就可以了。

    使用域名DNS服务商API方式只生成SSL证书不创建网站配置文件

    该方式只在lnmp 1.6或更高版本上有,其他版本的可以升级到1.6进行使用。
    命令:lnmp onlyssl ali   注意!注意!注意!ali为DNS服务商的简称,下面对照表中查找,别照抄!别照抄!别照抄!如dnspod的DNS就ali就改成dp !!!
    这里的ali和上述带配置文件的参数是一样的,如果是其他DNS服务商,参考下面表格进行更改。只不过在添加过程中不需要输入网站目录、是否开启日志等选项。
    该模式下之创建SSL证书并不生成网站配置文件,方便用户在多个虚拟主机上使用同一个证书。自己可以另外 lnmp vhost add 或 lnmp ssl add 创建SSL站点配置文件

    域名DNS服务商名称、简称、API参数和开通API对照表
    API参数中Key、Secret等之类的参数都要改成你自己API的不然一样不行

    服务商名称 服务商简称 所需API参数 获取API参数地址
    dnspod (cn大陆版) dp export DP_Id="123456"
    export DP_Key="abcdef"
    点击访问
    aliyun ali export Ali_Key="123456"
    export Ali_Secret="abcdef"
    点击访问
    cloudflare cf export CF_Key="123456"
    export CF_Email="abc@example.com"
    点击访问
    linode linode export LINODE_API_KEY="123456" 点击访问
    he he export HE_Username="username"
    export HE_Password="password"
    he的用户名密码
    digitalocean dgon export DO_API_KEY="123456" 点击访问
    namesilo namesilo export Namesilo_Key="123456" 点击访问
    aws aws export AWS_ACCESS_KEY_ID=123456
    export AWS_SECRET_ACCESS_KEY=abcdef
    点击访问
    namecom namecom export Namecom_Username="username"
    export Namecom_Token="123456"
    点击访问
    freedns freedns export FREEDNS_User="username"
    export FREEDNS_Password="password"
    freedns的用户名密码
    godaddy gd export GD_Key="123456"
    export GD_Secret="abcdef"
    点击访问

    手动DNS添加TXT记录生成SSL

    当然还有另外一种方式也是采用DNS,但是需要手动在域名DNS服务商那边添加TXT记录,命令是:lnmp dnsssllnmp dns

    添加虚拟主机过程的信息和前面使用API所填写的信息都是一样的,只不过不需要export API的相关信息。

    出现改提示就需要去域名DNS服务商网站上手动添加上提示的主机记录和值,如果是添加的二级域名,如图,就需要在域名DNS服务商后台上添加的TXT主机记录为_acme-challenge.vpser

    值为图中黄色框中的绿色的所有字符。如果是为lnmp.org生成SSL证书的话主机记录直接添加 _acme-challenge 就可以了,注意如果添加多个域名每个域名都要按提示的主机记录和值添加到域名DNS服务商后台上。

    如果添加的主机记录和记录值都没问题的话就会自动生成证书并添加好虚拟主机,就可以直接使用了。

    HTTPS绿锁问题的说明

    常说的绿锁即在域名前面有一把绿锁的锁,表示该网站在使用https安全协议链接的。

    状态的话就这3中,安全的、信息或不安全和不安全或危险。

    最常见不显示绿锁的原因

    该页面上有http不安全的资源加载,如图片、js、css之类的,最简单的排查方法Chrome中按F12、点击Console选项卡再F5刷新页面,就会有Mixed Content: The page at 'https://www.vpser.net/build/lnmp-v1-5-beta.html' was loaded over HTTPS, but requested an insecure image 'http://www.vpser.net/images/lnmp.png'. This content should also be served over HTTPS. 之类的提示,就是说明了在lnmp-v1-5-beta.html这个页面上有lnmp.png这个文件的是使用http加载的。找到对应的地方改成https链接就可以了。

    如果证书到期或者域名与改SSL证书里的域名不匹配的话就会显示不安全或危险。

    如在使用过程中有任何问题可以在论坛反馈

    VPS论坛邀请码:ded9de22baFqvZiU 有效期至:2018-3-31 09:05

    >>转载请注明出处:VPS侦探 本文链接地址:https://www.vpser.net/manage/lnmp-letsencrypt-wildcard-ssl-howto.html
    VPS侦探推荐:
    遨游主机VultrLinode搬瓦工LOCVPSKVMLAHOSTKVMHostXen80VPS美国VPS主机,国内推荐腾讯云阿里云
    欢迎加入VPS侦探论坛交流:https://bbs.vpser.net

    发表评论

    *必填

    *必填 (不会被公开)

    评论(14条评论)

    1. VPS侦探说道:

      手动DNS无法自动续期

    2. GAted0说道:

      手动DNS添加TXT记录生成SSL 的方法

      是不是也可以自动续期

    3. VPS侦探说道:

      不支持

    4. 云端说道:

      军哥,百度云的 API 能不能支持?

    5. VPS侦探说道:

      @zeerd, dns的记录只是在生成ssl证书和续期时生成记录和值,生成完就会删除
      链接重置如果是国外的vps有可能是有qiang的干扰

    6. zeerd说道:

      军哥

      按这个配置,看起来都成功了。
      然后使用lnmp vhost add添加子域名。

      添加之后,http可以访问,https偶尔可以成功,但是绝大部分时候会访问失败。失败时,浏览器上有时候提示“无法访问此网站 xxxx 意外终止了连接。”有时候提示“无法访问此网站 连接已重置。”

      请教一下,接下来应该如何排查?

      另外,我去gd查了一下dns的表格,里面有个“_acme-challenge”,但是“值”那里是空的。这个正常吗?

    7. VPS侦探说道:

      @peakchao, 只要你api信息不变、crontab规则没删除的话就是一直自动续期

    8. peakchao说道:

      军哥,上述步骤完成过后,怎么让ssl支持自动续期呢?

    9. peakchao说道:

      按照你的做法成功了,不过有个疑问,怎么让它自动域名续期呢?

    10. VPS侦探说道:

      @luo shijie, 没有具体错误信息和日志没法确定原因

    11. luo shijie说道:

      请问军哥阿里云的域名在digitalocean下添加ssl失败求解?

    12. carson说道:

      给军哥点赞,一直持之以恒的给社区带来好产品。

    13. VPS侦探说道:

      @润, 什么教程?

    14. 说道:

      军哥好。咱有操作教程吗?