acme脚本申请证书教程

准备域名

申请一个域名

将准备好的域名进行 DNS 解析,添加 A 记录进行解析,对应服务器 IPV4

申请证书

需要注意的是服务器 IP 要能够正常 PING 的通,不然在一些网络环境可能不能正常使用

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
  #安装socat:
  apt install socat

  #安装acme:
  curl https://get.acme.sh | sh

  #添加软链接:
  ln -s  /root/.acme.sh/acme.sh /usr/local/bin/acme.sh

  #注册账号: 
  acme.sh --register-account -m my@example.com

  #开放80端口:
  ufw allow 80

  #申请证书: 
  acme.sh  --issue -d 替换为你的域名  --standalone -k ec-256

  #安装证书,指定证书私钥与完整的证书链安装路径: 
  acme.sh --installcert -d 替换为你的域名 --ecc  --key-file   /root/server.key   --fullchain-file /root/server.crt 

  #如果默认CA无法颁发,则可以切换下列CA:
  #切换 Let’s Encrypt:
  acme.sh --set-default-ca --server letsencrypt
  #切换 Buypass:
  acme.sh --set-default-ca --server buypass
  #切换 ZeroSSL:
  acme.sh --set-default-ca --server zerossl

自签证书

自签证书的话,域名或ip访问报警告,这时需要将自签的证书导入到受信任的颁发机构中

1
2
3
4
5
6
7
8
  #生成私钥:
  openssl ecparam -genkey -name prime256v1 -out ca.key

  #生成证书,指定要签给的域名:
  openssl req -new -x509 -days 36500 -key ca.key -out ca.crt  -subj "/CN=bing.com"

  # 如果在生成证书的时候提示没有 .rnd 随机种子文件,解决方法:在缺少 .rnd 的目录中生成 .rnd,默认是在家目录缺少 .rnd,因此直接将 .rnd 生成在家目录下
  openssl rand -writerand ~/.rnd

伪装网站

如果服务器上安装了 nginx,可以在 nginx 默认的欢迎页面文件的目录下增加一个 index.html,index.html内容可以在网上随便找,我找了一个代码是作为精美web首页的

参考链接

https://bulianglin.com/archives/guide.html

HTML+CSS制作一个精美Web首页(100行代码以内)