本文目录
显示
1.
ZeroSSL证书申请
1.1.
手动申请
1.2.
验证域名
2.
ZeroSSL证书安装
2.1.
下载证书文件
2.2.
合并SSL证书
2.3.
安装SSL证书
3.
总结
3.1.
引用链接
3.2.
推荐阅读

一般来说,我们使用域名访问给域名加上 SSL 证书是建站的常规操作,但是有一些应用可能不需要使用域名访问,或者是不想绑定域名,而只是想用单纯的 IP 来实现访问。在现在全网都是HTTPS加密访问的背景下,有没有可能给IP地址也加上SSL证书实现访问呢?

有。但大多数面对 IP 的 SSL 证书都是收费的。而 zeroSSL 提供免费SSL证书[1]是支持纯 IP 颁发的,本篇文章就来分享一下zeroSSL[2]免费的纯 IP SSL 证书申请以及如何在自己的服务器(Nginx)安装配置 zeroSSL 免费 SSL 证书。更多的免费 SSL 请参考专题页面:免费 SSL 证书收集整理汇总[3]

ZeroSSL证书申请

网站:https://zerossl.com[4]

手动申请

进入到ZeroSSL[5]官网,注册一个账号,然后点击免费 SSL 证书申请。

填写你的 IP 地址,然后选择免费 SSL 证书时长。

选择自动生成 CSR。

验证域名

ZeroSSL免费SSL证书提供了两种域名验证方式,最简单的就是 Web 验证,但是前提是你要让你的 IP 地址实现 Web 访问。如果没有,你可以选择使用域名 DNS 添加 TXT 记录验证。

选择网站 Web 访问的话,直接下载验证文件,然后上传到 IP 地址默认的 Web 目录下,要求是路径保持如下:

用你的浏览器打开 IP,保证可以访问到验证文件。

最后,回到 ZeroSSL 验证页面,点击完成验证。

ZeroSSL证书安装

下载证书文件

ZeroSSL 证书验证成功后,你就可以下载证书文件了。ZeroSSL SSL证书[6]提供了多种形式,包括了 Nginx、Apache 等。

这里以 Nginx 为例,下载下来了 ZeroSSL 证书文件有三个:ca_bundle.crt 和 certificate.crt 以及私钥 key。

合并SSL证书

对于 Nginx 服务器,需要将 ca_bundle.crt 和 certificate.crt 合并,方法是打开 certificate.crt,然后将 ca_bundle.crt 的内容复制粘贴放在后面。


安装SSL证书

如果你用的是宝塔面板,可以直接在后台点击安装 SSL 证书,然后将证书和密钥文件分别上传保存即可。

如果你用的是Oneinstack 一键包[7]LNMP 一键安装包[8],则需要打开你的 Nginx 配置文件(不是域名 Nginx 配置文件),参考以下格式修改,注意要将 SSL 证书的路径改成你自己的:

server
    {
        listen 443 ssl http2;
        #listen [::]:443 ssl http2;
        server_name _;
        index index.html index.htm index.php;
        root  /home/wwwroot/default;

        ssl_certificate /usr/local/nginx/conf/ssl/ipssl/wzfouip.crt;
        ssl_certificate_key /usr/local/nginx/conf/ssl/ipssl/wzfouip.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers on;
        ssl_ciphers "TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
        ssl_session_cache builtin:1000 shared:SSL:10m;
        # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
        ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;
        access_log  /home/wwwlogs/access.log;
    }

证书安装后,记得执行一次:nginx -t 来检查一下是否有没有语法错误,没有的话直接重启 Nginx 完成 SSL 证书安装。打开 IP 地址你就可以看到 IP SSL 证书已经成功安装了。


总结

就目前来看,纯 IP 的ZeroSSL 免费 SSL 证书[9]暂时没有很好的工具来自动续期,Github 有开发者使用 golang 写了个工具可以实现更新:https://github.com/tinkernels/zerossl-ip-cert,但是不好操作,所以比较简单的方法就是自己手动申请续期。

较简单的方法就是自己手动申请续期。

引用链接

[1]免费 SSL 证书: https://wzfou.com/tag/mianfei-ssl/
[2]zeroSSL: https://wzfou.com/tag/zerossl/
[3]免费 SSL 证书收集整理汇总: https://wzfou.com/mianfei-ssl/
[4]https://zerossl.com: https://wzfou.com/go/zerossl
[5]ZeroSSL: https://wzfou.com/tag/zerossl/
[6]ZeroSSL SSL 证书: https://wzfou.com/tag/zerossl-ssl-crt/
[7]Oneinstack 一键包: https://wzfou.com/oneinstack/
[8]LNMP 一键安装包: https://wzfou.com/tag/lnmp-yzb/
[9]ZeroSSL 免费 SSL 证书: https://wzfou.com/tag/zerossl-mianfei-ssl/

原文链接:https://wzfou.com/zerossl-mianfei-ip-ssl/