网站建设完成后,SSL证书能免费申请吗?
浏览次数:106作者:千旭网络
常见问题
网站建设完成后,上传网站到服务器上,绑定域名到云服务器ip后,去浏览器打开网址,细心的浏览者会发现浏览器的网址前缀是http://,且网址前面出现一个红色把叉,点击红色把叉会出现一个小弹框(见下图),

提示网站非安全链接,严重影响网站可信度。
去阿里云,腾讯云的官网上咨询,它们都只提供个人测试用的免费ssl证书,有效期3个月,如是需要它们提供企业网站的SSL证书,可以根据自己的需求选择相关SSL证书,花费较少的套餐一般是几百元一年,有了这个SSL安全证书付费套餐,配置好后,在浏览器打开网址,就会发现网址前缀变成了https://,,因此,也可以说这是一个https证书或是ssl certificate,且网址前面由之前的红色把叉变成了绿色小勾,点击绿色小勾再次出现一个小弹框(见下图),

提示由之前的网站非安全链接变成了网站安全链接,这提高了网站的信任度,阅读到这里,你大概对ssl证书是什么有了初步的印象。
那么企业(含个人)做好网站后,能不能获取免费的免费SSL证书呢?完全可以。部分人可能会想,你这个免费证书,我网站做好后还要做seo推广比如百度推广,免费SSL证书会不会影响我后面的推广效果,为此,小编去百度搜索公司的文心一言上咨询,得到的答案是不影响(见下图)。

下面我们以阿里云服务器和域名为例,
Let’s Encrypt 的官网在这里 👉 https://letsencrypt.org/
泛域名证书(*.wangzhanjianshe9.com.cn)安装Let’s Encrypt
ssl证书免费申请采用dns验证,到期后自动续期的可操作的详细步骤。
如果你没有https://letsencrypt.org网站的帐户,你得先注册一个账户,下面是linux系统下注册账户的命令:
```bash
acme.sh --register-account -m your_email@qq.com
账户注册好后需要安装 acme.sh**
```bash
curl https://get.acme.sh | sh
source ~/.bashrc
```
**方案:使用 RAM 用户申请证书(详细步骤)**
### **步骤1:创建 RAM 用户**
```
- 登录阿里云控制台
- 搜索"访问控制" 或 "RAM"
- 左侧菜单:身份管理 → 用户
- 点击"创建用户"
- 填写信息:
- 登录名称:ssl-cert-user(自定义)
- 显示名称:SSL证书管理用户
- ✅ 勾选:OpenAPI 调用访问
- ❌ 不勾选:控制台访问
- 点击"确定"
- **重要**:页面会显示 AccessKey ID 和 AccessKey Secret
立即复制保存(关闭后无法再查看 Secret)
```
### **步骤2:为 RAM 用户授权**
```
- 在用户列表找到刚创建的 ssl-cert-user
- 点击"添加权限"
- 选择权限:
- 搜索:AliyunDNSFullAccess
- 点击添加到右侧
- 点击"确定"
- 完成授权
```
### **步骤3:配置 acme.sh 使用 RAM 用户凭证**
```bash
# 设置环境变量(替换为您刚才保存的真实值)
export Ali_Key="Dtocedd1111111111"
export Ali_Secret="euccUUDDgcrpapk2222222"
# 保存到 acme.sh 配置(可选,避免每次手动设置)
echo "export Ali_Key=' Dtocedd1111111111 '" >> ~/.bashrc
echo "export Ali_Secret=' euccUUDDgcrpapk2222222 '" >> ~/.bashrc
source ~/.bashrc
```
### **步骤4:申请证书**
```bash
~/.acme.sh/acme.sh --issue --dns dns_ali \
-d wangzhanjianshe9.com.cn \
-d *.wangzhanjianshe9.com.cn
```
### **步骤5:安装证书到 Nginx**
```bash
# 创建证书目录
sudo mkdir -p /etc/nginx/ssl
# 安装证书
~/.acme.sh/acme.sh --install-cert -d wangzhanjianshe9.com.cn \
--key-file /etc/nginx/ssl/key.pem \
--fullchain-file /etc/nginx/ssl/cert.pem \
--reloadcmd "systemctl reload nginx"
```
自动续期已默认配置
acme.sh 安装时已自动设置 cron 任务。验证:
crontab -l | grep acme
应该看到类似:
0 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
这表示每天凌晨自动检查并续期(证书到期前30天自动续)。
**7. 安装证书到 Nginx**
```bash
acme.sh --install-cert -d wangzhanjianshe9.com.cn \
--key-file /etc/nginx/ssl/key.pem \
--fullchain-file /etc/nginx/ssl/cert.pem \
--reloadcmd "systemctl reload nginx"
```
**8. 配置 Nginx(/etc/nginx/conf.d/cms.conf)**
```bash
sudo vi /etc/nginx/conf.d/cms.conf
```
写入:
```nginx
# HTTP 重定向到 HTTPS
server {
listen 80;
server_name www.wangzhanjianshe9.com.cn wangzhanjianshe9.com.cn;
return 301 https://$host$request_uri;
}
# HTTPS 配置
server {
listen 443 ssl http2;
server_name www.wangzhanjianshe9.com.cn wangzhanjianshe9.com.cn *.wangzhanjianshe9.com.cn;
ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
location / {
proxy_pass http://localhost:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
}
**9. 测试并重启 Nginx**
```bash
sudo nginx -t
sudo systemctl restart nginx
```
**10. 开放 443 端口(防火墙)**
```bash
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
```
**11. 阿里云安全组规则**
```
ECS 控制台 → 安全组 → 配置规则 → 入方向
添加:协议类型 HTTPS(443),授权对象 0.0.0.0/0
```
**完成。证书自动 60 天续期,无需任何额外配置。**