公众号关注 「奇妙的 Linux 世界」

设为「星标」,每天带你玩转 Linux !

03e2ed813b4dc5dc2e33c37924af5459.png

一般来说,我们使用域名访问给域名加上 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 证书申请。

61a6b1366f4a5060a4a730de75684c94.png

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

a83329c23c16edd501464ebefa58702b.png

选择自动生成 CSR。

f485da9811d612c44dd77bd8df294414.png

验证域名

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

3e6fea385893c3575a4fbe209240a945.png

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

c377f22bbd1dd5ae94e352d9d91a98a6.png

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

124dd96f73ff86a8163b71b8f885e23f.png

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

2a623553d5646c3fd8e13727d404d0a2.png

ZeroSSL 证书安装

下载证书文件

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

8d5f4f7a8f9208af1f038bbf5f1bdbb2.png

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

366ce6c6f0cc799dd375d38ea1f2fa4b.png

合并 SSL 证书

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

7044f5bf3f20a26f06a59f45fd40c8a7.png 78ca6c92b41deb97be9c564857d9477c.png

安装 SSL 证书

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

994c2594f2564315190db6288bedcfdd.png

如果你用的是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 证书已经成功安装了。

4a24ed34c739be8a53bc068c0f4dde68.png 1c0b64305f483f9f9a8c57bde661c382.png

总结

就目前来看,纯 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://url.hi-linux.com/ZytFE,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。

ab885ae18f7f4725063c80c2edb056e8.gif

最近,我们建立了一个技术交流微信群。目前群里已加入了不少行业内的大神,有兴趣的同学可以加入和我们一起交流技术,在 「奇妙的 Linux 世界」 公众号直接回复 「加群」 邀请你入群。

765d20c6af91fbe002d3dd3960d4b776.png

你可能还喜欢

点击下方图片即可阅读

2af9e749d4de9b4e7ea32529340a081a.png

超给力,一款让你不起眼的小屏幕也能发挥大作用的神器

8f5e8216f5cfa6367e3ce60c6393fedf.png
点击上方图片,『美团|饿了么』外卖红包天天免费领

691954f6409c8166c88079fe2fb03ecd.png

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐