未备案域名申请SSL证书

环境信息

项目 内容

服务器 阿里云 ECS

操作系统 Alibaba Cloud Linux 3

域名 `guochuanlin.top` + `*.guochuanlin.top`(通配符)

域名备案状态 未备案

证书颁发机构 Let's Encrypt

验证方式 阿里云 DNS API 自动验证

Web 服务器 Nginx

HTTPS 端口 8443(未备案域名无法使用 443)


一、安装 acme.sh

```bash

安装 acme.sh

curl https://get.acme.sh | sh

重新加载环境

source ~/.bashrc

验证安装

acme.sh --version

```


二、配置阿里云 DNS API

  1. 获取 AccessKey

登录 阿里云 RAM 控制台(https://ram.console.aliyun.com/users):

  • 创建/获取 AccessKey ID 和 AccessKey Secret

  • 确保用户有 `AliyunDNSFullAccess` 权限

  1. 设置环境变量

```bash

export Ali_Key="你的阿里云AccessKey ID"

export Ali_Secret="你的阿里云AccessKey Secret"

```


三、申请 SSL 证书

  1. 切换 CA 为 Let's Encrypt(避免 ZeroSSL 超时)

```bash

acme.sh --set-default-ca --server letsencrypt

```

  1. 申请通配符证书

```bash

acme.sh --issue --dns dns_ali -d guochuanlin.top -d *.guochuanlin.top --force --dnssleep 180

```

成功标志:

```

Thu Apr 16 07:10:28 AM CST 2026 Cert success.

```


四、安装证书到 Nginx

  1. 创建 SSL 目录

```bash

sudo mkdir -p /etc/nginx/ssl

```

  1. 安装证书并配置自动续期

```bash

acme.sh --install-cert -d guochuanlin.top \

--key-file /etc/nginx/ssl/guochuanlin.top.key.pem \

--fullchain-file /etc/nginx/ssl/guochuanlin.top.fullchain.pem \

--reloadcmd "sudo systemctl reload nginx"

```

证书路径:

文件 路径

私钥 `/etc/nginx/ssl/guochuanlin.top.key.pem`

完整证书链 `/etc/nginx/ssl/guochuanlin.top.fullchain.pem`


五、配置 Nginx

  1. 创建站点配置文件

```bash

sudo tee /etc/nginx/conf.d/guochuanlin.top.conf << 'EOF'

server {

listen 8443 ssl;

server_name guochuanlin.top *.guochuanlin.top;

ssl_certificate /etc/nginx/ssl/guochuanlin.top.fullchain.pem;

ssl_certificate_key /etc/nginx/ssl/guochuanlin.top.key.pem;

ssl_protocols TLSv1.2 TLSv1.3;

ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;

ssl_prefer_server_ciphers on;

ssl_session_cache shared:SSL:10m;

ssl_session_timeout 10m;

root /var/www/worker-helper;

index index.html index.htm;

location / {

try_files uri uri/ =404;

}

}

EOF

```

  1. 启动/重载 Nginx

```bash

启动 Nginx

sudo systemctl start nginx

设置开机自启

sudo systemctl enable nginx

检查配置语法

sudo nginx -t

重载配置

sudo systemctl reload nginx

```


六、设置网站目录权限

```bash

设置目录权限(关键步骤,避免 403)

sudo chown -R nginx:nginx /var/www/worker-helper

sudo chmod -R 755 /var/www/worker-helper

如果还有 403,检查 SELinux

sudo setenforce 0

或永久关闭

sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

```


七、开放阿里云安全组

登录 阿里云 ECS 控制台(https://ecs.console.aliyun.com) → 安全组 → 配置规则:

类型 端口范围 授权对象 描述

自定义 TCP 8443 0.0.0.0/0 HTTPS 未备案域名


八、验证 HTTPS

本地测试

```bash

curl -k https://localhost:8443

```

浏览器访问

```

https://guochuanlin.top:8443

```

成功标志: 显示 🔒 安全锁,无"不安全"警告。


九、证书管理命令

查看证书信息

```bash

证书有效期

openssl x509 -in /etc/nginx/ssl/guochuanlin.top.fullchain.pem -noout -dates

证书详情

openssl x509 -in /etc/nginx/ssl/guochuanlin.top.fullchain.pem -text -noout

```

测试自动续期

```bash

acme.sh --renew -d guochuanlin.top --dry-run

```

查看定时任务

```bash

crontab -l | grep acme

```

强制续期

```bash

acme.sh --renew -d guochuanlin.top --force

```


十、证书文件备份

重要文件备份:

```bash

备份到 /root 目录

sudo cp /etc/nginx/ssl/guochuanlin.top.key.pem /root/ssl-backup/

sudo cp /etc/nginx/ssl/guochuanlin.top.fullchain.pem /root/ssl-backup/

```


常见问题解决

问题 原因 解决

DNS 验证超时 TXT 记录传播慢 加 `--dnssleep 180`

ZeroSSL 超时 CA 响应慢 切换 Let's Encrypt

403 Forbidden 权限/SELinux `chown nginx:nginx` + `setenforce 0`

浏览器无法访问 安全组未开 阿里云控制台开放 8443

证书已存在 重复申请 加 `--force` 或先 `--remove`


关键路径总结

用途 路径

acme.sh 原始证书 `~/.acme.sh/guochuanlin.top/`

Nginx 使用证书 `/etc/nginx/ssl/`

Nginx 配置 `/etc/nginx/conf.d/guochuanlin.top.conf`

网站源码 `/var/www/worker-helper/`

Nginx 日志 `/var/log/nginx/error.log`


保存此文档,下次部署或排查问题时可参考。

相关推荐
夜听莺儿鸣2 小时前
502-003_Linux 中断与异常(一):从Linux角度理解中断与异常
linux·中断与异常·linux中断
杨云龙UP3 小时前
TDengine 3.4.2.8 Community 三节点三副本生产集群部署实战(DNode/MNode/taosAdapter/Explorer)
大数据·linux·运维·数据库·tdengine·时序库
向成科技3 小时前
XC3576H工控主板|深度适配Ubuntu 26.04 LTS,释放边缘AI与工业开发新潜能
linux·人工智能·ubuntu·机器人·硬件·主板·边缘ai
Fcy6484 小时前
Linux下 进程间关系与守护进程
linux·运维·服务器·守护进程
码农小韩4 小时前
Linux驱动理论(二)——Linux字符设备驱动
linux·嵌入式软件开发·linux操作系统·linux应用开发·linux驱动理论
well06124 小时前
Linux粘滞位与Makefile机制深度解析
linux·运维·服务器
再写一行代码就下班5 小时前
linux sh脚本在windows修改导致无法使用解决方式
java·linux·centos
额额额对了5 小时前
SPI通信
linux·c语言·汇编·单片机·嵌入式硬件·arm
子木HAPPY阳VIP5 小时前
Ubuntu 关闭防火墙操作步骤
linux·运维·ubuntu
王振超wzc5 小时前
嵌入式开发环境搭建--WM软件安装,Ubuntu操作系统安装
linux·运维·ubuntu