未备案域名申请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`


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

相关推荐
蚰蜒螟8 分钟前
从mkdir命令到磁盘:Linux内核目录创建过程深度解析
linux·运维·数据库
coward9144 分钟前
Linux内核驱动初始化流程认识(关于late_initcall和modul_init驱动初始化宏差异)
linux·嵌入式硬件
modelmd1 小时前
Linux man 命令详解:从入门到精通
linux
SWAGGY..1 小时前
Linux系统编程:(十一)进程状态&&Linux中的僵尸状态
linux·服务器·编辑器·vim
洵有兮1 小时前
Shell 脚本编程学习总结(基础 + 变量 + 条件 + 流程控制 + 函数数组)
linux·学习
我命由我123451 小时前
SEO 与 GEO 极简理解
java·linux·运维·开发语言·学习·算法·运维开发
楼兰公子1 小时前
RK3588 Linux驱动开发大纲
linux·驱动开发
!沧海@一粟!2 小时前
Linux高并发内核优化
linux·运维·oracle
perfect123126452 小时前
轻量运维工具fastdp v6版本
linux·运维
linksinke2 小时前
在 CentOS 7.x 外网环境离线构建便携式 Python 3.11.4 的方案参考
linux·python·centos