521 字
3 分钟
给IP申请SSL证书并开启HTTPS访问
2025-01-17

前言#

IP证书是一种特殊的SSL证书,它直接绑定到服务器的公网IP地址上,当用户通过这个IP地址访问时,也能享受到如同访问经过域名验证的HTTPS网站一样的加密安全连接。这样一来,即便是没有注册域名或仅通过IP地址访问的服务,也能确保数据传输过程中的安全性,防止信息被窃取或篡改,同时也提供了对服务器身份的验证,增加了用户对服务提供者的信任度。

本教程以caddy作为演示,如何安装caddy请参考本博客的教程,使用nginx的话思路也一样。

1. 打开免费申请IP SSL证书的网站#

https://zerossl.com/

1:打开后首页就直接输入你要申请的IP,点击Next Step进入下一步。

2:输入注册邮箱和密码(邮箱可以随便填,不会验证真实性)

3:免费版IP SSL证书有效期是3个月。需要在第二项里手动选择下。否则是默认的1年付费版。

2. 验证IP所有权#

以下配置中的123.123.123.123为示例IP地址,请根据自己情况替换。

1:下载Auth验证文件

2:在网站目录里创建/.well-known/pki-validation/目录,以caddy为例

mkdir -p /var/www/.well-known/pki-validation

caddy配置示例

http://123.123.123.123 {
    root * /var/www
    encode zstd gzip
    file_server
}

3:将刚刚下载的验证文件上传到/var/www/.well-known/pki-validation/目录里

4:启动caddy,访问你的公网IP,如果能看到验证文件,则代表成功

3. 生成SSL证书#

然后zerossl网站里点击验证,验证成功后下载zip证书压缩包,上传到服务器/etc/caddy目录,并使用unzip命令解压

4. 合并证书文件#

/etc/caddy目录下执行如下命令:

cd /etc/caddy
cat certificate.crt ca_bundle.crt > fullchain.crt

5. 启动站点#

caddy配置示例

https://123.123.123.123 {
    root * /var/www
    encode zstd gzip
    file_server

    tls /etc/caddy/fullchain.crt /etc/caddy/private.key
}

/var/www为站点目录,123.123.123.123为示例IP地址,请根据自己情况替换。

使用nginx的话思路也一样。

给IP申请SSL证书并开启HTTPS访问
https://emohe.cn/posts/17/
作者
阿涛の小破站
发布于
2025-01-17
许可协议
CC BY-NC-SA 4.0