feat: 062.hica-ssl
This commit is contained in:
parent
5f11b00cb2
commit
72e2d9e1a4
120
content/post/062.hica-ssl/index.md
Normal file
120
content/post/062.hica-ssl/index.md
Normal file
@ -0,0 +1,120 @@
|
|||||||
|
---
|
||||||
|
title: "使用 HiCA 签发免费的半年 IP / 通配符域名 SSL 证书"
|
||||||
|
categories: [ "程序人生" ]
|
||||||
|
tags: [ "SSL证书", "IP证书", "通配符证书" ]
|
||||||
|
draft: false
|
||||||
|
slug: "hica-ssl"
|
||||||
|
date: "2022-07-24 12:11:00"
|
||||||
|
---
|
||||||
|
|
||||||
|
## HiCA
|
||||||
|
|
||||||
|
官网:<https://www1.hi.cn/>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
2022 年 7 月 23 日,国产数字证书品牌 HiCA 正式上线,提供免费的半年 IP 或者通配符域名 SSL 证书,非常实用。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## acme.sh
|
||||||
|
|
||||||
|
HiCA 默认只提供 acme 协议签发证书,并且禁止任何 GUI 的形式对外公开服务,我们使用最简单的 acme.sh 脚本进行自动签发证书和更新证书。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
使用以下命令行安装 acme.sh 自动化脚本,并且替换 `my@example.com` 为你的邮箱
|
||||||
|
|
||||||
|
```
|
||||||
|
curl https://get.acme.sh | sh -s email=my@example.com
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## IP 证书
|
||||||
|
|
||||||
|
免费的 IP SSL 证书非常少,现在能有一家国产公司站出来,真的为之感到骄傲,并且支持 IPv4 / IPv6 的 IP 证书
|
||||||
|
|
||||||
|
签发 IP SSL 使用 HTTP 文件验证的方式,首先需要启动一个 Web 服务器,要求是访问要签发证书的 IP 能够直接访问到该站点,可以使用宝塔面板,或者直接安装 nginx 的方式,简单快捷。
|
||||||
|
|
||||||
|
### 宝塔面板
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
使用宝塔面板新建一个站点,域名填写你的 IP,然后测试直接访问 IP,成功看到页面即可。
|
||||||
|
|
||||||
|
记住此站点的根目录 `/www/wwwroot/xx.xx.xx.xx`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### 任意 HTTP 服务器
|
||||||
|
|
||||||
|
直接安装 nginx,以 Ubuntu 为例
|
||||||
|
|
||||||
|
```shell
|
||||||
|
sudo apt install nginx
|
||||||
|
```
|
||||||
|
|
||||||
|
安装完成之后即可访问 IP,记住必须是 80 端口。
|
||||||
|
|
||||||
|
Ubuntu 默认的网站根目录位于 `/var/www/html`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### 签发
|
||||||
|
|
||||||
|
进入到你的服务器终端,输入以下命令行
|
||||||
|
|
||||||
|
```shell
|
||||||
|
acme.sh --issue -d [IPv4/IPv6] --webroot [网站根目录] --server https://acme.hi.cn/directory
|
||||||
|
```
|
||||||
|
|
||||||
|
例如为 IP 1.1.1.1 申请证书,则执行
|
||||||
|
|
||||||
|
```shell
|
||||||
|
acme.sh --issue -d 1.1.1.1 --webroot /www/wwwroot/1.1.1.1 --server https://acme.hi.cn/directory
|
||||||
|
```
|
||||||
|
|
||||||
|
稍等片刻,提示签发成功即可下载证书,位于 `~/.acme.sh/xx.xx.xx.xx`
|
||||||
|
|
||||||
|
若提示 acme.sh 命令不存在,直接 cd 到 家目录下的 `.acme.sh` 目录下只用相对路径执行命令即可。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 通配符证书
|
||||||
|
|
||||||
|
### 配置 DNS 自动验证
|
||||||
|
|
||||||
|
通配符证书需要进行 DNS 验证来确定域名持有人,本文以阿里云 DNS 为例。
|
||||||
|
|
||||||
|
首先在阿里云申请一个 AccessKey,用于 API 操作阿里云服务,可以使用子用户的方法,并且只授权 `AliyunDNSFullAccess` 权限
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
然后打开服务器终端,cd 到 `.acme.sh` 目录下,编辑 `dnsapi`下的 `dns_ali.sh`文件,将第 5、6 行的 `Api_Key` 和 `Api_Secret` 替换成你申请到的 Key 和 Secret
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
acme.sh 还提供了很多其它云服务厂商的 DNS API,详细可以参照官网 GitHub 的 Wiki
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### 签发
|
||||||
|
|
||||||
|
进入到你的服务器终端,输入以下命令行
|
||||||
|
|
||||||
|
```shell
|
||||||
|
acme.sh --issue -d \*.[域名] -d [域名] --dns dns_ali --server https://acme.hi.cn/directory
|
||||||
|
```
|
||||||
|
|
||||||
|
例如为域名 taurusxin.com 申请证书,则执行
|
||||||
|
|
||||||
|
```shell
|
||||||
|
acme.sh --issue -d \*.taurusxin.com -d taurusxin.com --dns dns_ali --server https://acme.hi.cn/directory
|
||||||
|
```
|
||||||
|
|
||||||
|
稍等片刻,提示签发成功即可下载证书,同样位于 `~/.acme.sh/your.domain`
|
||||||
|
|
||||||
|
若提示 acme.sh 命令不存在,直接 cd 到 家目录下的 `.acme.sh` 目录下只用相对路径执行命令即可。
|
||||||
|
|
||||||
|

|
Loading…
x
Reference in New Issue
Block a user