美文网首页
如何免费获得15年有效期的SSL证书

如何免费获得15年有效期的SSL证书

作者: zhyuzh3d | 来源:发表于2024-01-05 14:47 被阅读0次

    继续上一篇文章:《如何免费不用SSL证书直接把http网站升级为https地址》,分享了如何最快速把自己的http网站升级为https网站的办法,但其实是存在一些问题的,其中最明显的就是无法通过Cloudflare代理访问https://yoursite.com:2053这样的地址,虽然对很多网站这都不是问题,但有时候的确必须解决它,下面跟大家分享一个更彻底一些的办法。

    昏暗的SSL证书

    仍然是Cloudflare,上一篇文章中我们提到了SSL/TLS中设置选择了
    Flexible模式,这个模式让用户浏览器输入的是https但被Cloudflare转发到你服务器的http,这让你可以对服务器不做任何改变的情况下升级到https网站。

    但这明显不是最终解决方案。如何让我们的服务器直接使用https服务呢?——如前所述,你需要每年花几千块钱去正规渠道购买他们颁发给你的SSL证书。或者,你也可以使用Freessl.cn或Let's Encrypt有效期三个月(一个月)的短期证书。当然,你也可以从Cloudflare获得有效期15年的专用证书,方法如下。

    设置SSL/TLS加密模式

    参照上一篇文章,登录Cloudflare,进入你的站点。在【SSL/TLS】的【Overview】下,把原来的Flexible改为Full(strict),这将要求你的服务器使用Origin CA专有证书启动https服务。

    Full(strict)模式

    创建和下载证书

    同样在【SSL/TLS】下的【Origin server】,直接点【Create Certificate】创建证书,什么都不用改,直接Create,默认就是15年,并且支持子域名,然后把两段代码分别复制保存为cert.pemkey.pem文件放好,复制的时候包含类似-----BEGIN CERTIFICATE-----的开头和结尾行。

    如果你不小心点了OK而没有复制,那么Key部分就没有了,你只能重新【Create Certificate】创建。

    使用SSL证书启动https服务

    需要修改服务器上启动网络服务的程序代码,以golang为例,要改为类似下面代码。

    certPath := "path/to/your/cert.pem"
    keyPath := "path/to/your/key.pem"
    err := http.ListenAndServeTLS(":443", certPath, keyPath, nil)
    

    其他语言参照网上教程进行修改。

    修改成功后在443端口上启动服务(https走443不走80,别忘了在你的服务的安全组放行443端口),一两分钟后就可以用https://yoursite.com访问你的网站了。

    刷新Cloudflare的缓存

    也许你需要修改设置之后刷新一下缓存,在【Caching】的【Configuration】点击【Purge Everything】。

    重要提示-1:虽然Cloudflare官方文档说使用Flexible选项并不影响访问https://yoursite.com:xxxx这样的地址,但实际上是不行的,会无理由的报SSL证书错误。

    重要提示-2:虽然Cloudflare官方文档说https端口支持443,2053,2083,2087,2096,8443,但我测试下来尽管使用了Origin SSL证书,还是只有2053端口比较稳定,8443完全不行。

    重要提示-3:这个Origin SSL证书只能配合Cloudflare使用,是专用的,如果去掉了Cloudflare的代理proxy橙色云朵,那么这个证书就无法使用。


    END

    相关文章

      网友评论

          本文标题:如何免费获得15年有效期的SSL证书

          本文链接:https://www.haomeiwen.com/subject/xyrindtx.html