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


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

相关推荐
携程DBA6 小时前
数据库软限制相关研究
linux·mysql·性能
huy1n96 小时前
Ubuntu 22.04部署Claude Code并接入DeepSeek-V4模型完整教程
linux·ubuntu·deepseek·claude code
ICECREAM7 小时前
I/O 多路复用完全指南 —— select、poll、epoll
linux
进阶的猪7 小时前
Linux 内核移植过程学习
linux·学习
问简9 小时前
【共享盘】ubuntu、windows
linux·windows·ubuntu
小生不才yz10 小时前
Shell脚本精读 · S13-01 | POSIX sh 与 Bash:语法对照表
linux
阿拉斯攀登10 小时前
平台设备驱动:platform bus 与设备树
linux·嵌入式硬件·嵌入式·linux驱动·字符设备驱动
阿拉斯攀登10 小时前
并发与同步:自旋锁、信号量、互斥锁
linux·网络·嵌入式硬件·linux驱动·字符设备驱动
网络小白不怕黑10 小时前
10.邮件服务器搭建并脚本实现监控httpd状态
linux·运维·服务器
Carlos_Xu11 小时前
Linux基础-基础命令
linux