• ZeroSSL,支持多域名的在线 Let's Encrypt SSL 证书申请工具


    前言:

    微信需要ssl证书,很多网站都有免费一年的证书;免费一年的证书叫做单域名证书,iis没办法配置多个子站点443端口;我有很多客户需要用我的的域名,同一个域名配置多个ssl,或者支持多个子域名;同一台服务器同一个iis使用单域名是无法做到的,因此 我们需要统配域名来;

    简要说明:

    相信很多人都已经了解 Let's Encrypt 了。它得到了广泛的支持。考虑到 StartSSL 和沃通的 SSL 证书开始不被信任,Let's Encrypt 几乎成了免费 SSL 证书唯一的选择。然而对于许多人来说,申请 Let's Encrypt 提供的免费 SSL 证书有着或多或少的困难。这里就介绍一个在线的工具,名字叫作 ZeroSSL。

    在线的工具就有这样的好处:不用下载客户端,并且是图形界面的,对新手来说也容易上手。美中不足的是,ZeroSSL 是英文的;因此下面我将稍微详细地介绍全过程。

    首先,进入 ZeroSSL 的免费证书向导

    在左边写着“Email”的文本框中填写自己的邮箱地址。其实不填邮箱也可以,但是填了可以收到证书过期提醒什么的。如果自己没有生成 CSR,就在右边写着“domains”的框中填写自己的域名,多个域名用空格或者英文逗号隔开。注意,在这里带“www.”和不带的都要填,虽然没填它也会提醒。支持多域名是这个 ZeroSSL 的一个优点,别的许多 Let's Encrypt SSL 证书申请工具都不支持多个域名。如果已经有现成的 CSR 了,就在 domains 下面那个大框中输入 CSR 的内容,这里是允许填自己生成的 CSR 的;按理来说确实是自己生成的安全一些(比如在自己服务器上用 OpenSSL),而不是在线工具的。

    勾选两个“Accept”之前的单选框,意思是同意两个条款。在左半边还有两个框,是问你用 DNS 还是 HTTP(网页)验证,我们以 DNS 验证为例,点击 DNS verification。

    点击右上角的“NEXT”(下一步)按钮,没问题的话系统就会开始生成 CSR,稍微要一点时间;生成好后将 CSR 的内容保存起来并保护好。如果 CSR 是自己填的现成的则没有这一步。

    再点击“NEXT”,就会生成 Let's Encrypt key(LE key),这是你身份的标识。现在复制它到别的地方,或者保存起来,保护好,将来能用到。

    再点击“NEXT”,就进入到验证阶段了。在之前的界面中,默认选择的是 HTTP 验证方式,那么它会要求你创建一些文件上传到对应域名的网站下面,目录是“/.well-known/acme-challenge/”,文件名和文件的内容都规定好了。这对新手有些麻烦,所以我们以 DNS 验证为例。按照所示的的内容,添加好以 _acme-challenge(包括 _acme-challenge.www,如果有)为主机名的 DNS 记录就好了,记录类型是 TXT。

    根据各个 DNS 服务商的生效时间不同,可能需要等一会儿记录才会生效。不过当今许多的服务商已经做到一分钟内生效了。自己觉得生效后点击“NEXT”。如果有些记录没做好,它也会再提醒的。不过要注意,提醒后点“NEXT”,要求的记录值会改变。如果不确定有没有生效,建议这一步多等一些时间,或者换用 HTTP 验证。

    这些步骤都完成以后,SSL 证书就生成好了。注意一串英文中有几个数字,那是你的账户 ID,最好记下来,虽然一般用不太到。

    出现了两个框。第一个写着“BEGIN CERTIFICATE”的框就是证书内容的框。里面包含了两个部分,一个是纯粹的你域名的 SSL 证书,另外一部分是 SSL 提供商的证书,叫作中间商证书、证书链或者 CA Bundle。使用的时候,把它们一块儿上传到(或填到)服务器(或服务器面板)就行了。有一些面板可能会要求分开填写,那就按照“BEGIN”(开始)和“END”(结束)的标识拆成两个部分吧。第二个框就是私钥了,是来配合使用的,跟之前的 CSR 是绑定着的。

    当然,如果之前的 CSR 是你手动填的,不是它帮你生成的,那么这里就只有一个框,写有证书内容的框。至于私钥,肯定是你自己在生成 CSR 之前就已经生成的,或者是跟 CSR 同时生成的,这个网站不会再在上面显示出来。

    至此,在 ZeroSSL 上面申请 Let's Encrypt 提供的免费 SSL 证书的过程就全部结束了。

    Let's Encrypt 的 SSL 证书有效期只有 90 天,是可以免费续期的,也就是重新生成证书。在 ZeroSSL 上面的话呢,将先前保存的 LE key 和 CSR 填上去,再下一步就行了,不需要重新输入邮箱或域名,这样后面的验证过程也可以跳过;由于 CSR 没变,私钥也不用变,在服务器上更新证书的内容就好了。续期建议在到期前进行,不要真的等到它过期。

    当然,如果你不是新手,肯定知道自动续期那种高级方法。这个在线工具你也不一定看得上,可以点击这里查看所有支持 Let's Encrypt 证书申请的东西。

    附录:http 重定向 https ;Web.config配置

    <system.webServer>

     <rewrite>
                <rules>
                    <rule name="Redirect to https" stopProcessing="true">
                        <match url="(.*)" />
                        <conditions>
                            <add input="{HTTPS}" pattern="^OFF$" />
                            <add input="{HTTPS_HOST}" pattern="^(localhost)" negate="true" />
                        </conditions>
                        <action type="Redirect" url="https://{HTTP_HOST}:443/{R:1}" redirectType="SeeOther" />
                    </rule>
                </rules>
            </rewrite>

    </system.webServer>

  • 相关阅读:
    ReactNative 分享解决listView的一个郁闷BUG
    SDWebImage 图片下载缓存框架 常用方法及原理
    巧谈GCD
    Core Bluetooth下实现两个设备进行互联
    iOS开发Delegate,Notification,Block使用心得
    iOS开发之性能优化
    iOS开发之git学习
    iOS开发之自定义输入框(利用UITextField及UITextView)
    iOS开发之网络请求(基于AFNetworking的再封装)
    iOS开发之设置界面的抽取
  • 原文地址:https://www.cnblogs.com/flysem/p/9368793.html
Copyright © 2020-2023  润新知