# Bluehost SSL 证书：免费 Let's Encrypt、AutoSSL 与强制 HTTPS

> Bluehost 免费 SSL 显示不安全怎么修：域名怎么指向 Bluehost、CAA 放行哪个值、怎样用 Run AutoSSL 重新签发，以及怎样手动强制 HTTPS 和上传证书。

Source: https://ssl.sh/zh/guides/bluehost-ssl/
Last updated: 2026-11-10

Bluehost 的免费 SSL 是由 AutoSSL 签发和续期的 Let's Encrypt 证书：在网站上打开开关，域名已经指向 Bluehost 的话，通常几分钟就能生效。它不会自动把访客跳转到 HTTPS，这一步要自己加。如果 SSL 卡片显示证书不安全，办法是先看 SSL 日志，修好 DNS 后重新运行 AutoSSL。

菜单名称以 2026 年 11 月的 Bluehost 后台和官方帮助中心为准，状态和提示按官方英文原文列出。域名注册在阿里云、腾讯云的，也按下面的顺序操作。

## Bluehost 的证书是怎么来的

Bluehost 用的是 cPanel 的 AutoSSL 加 Let's Encrypt。官方 AutoSSL 文章说 “AutoSSL utilizes trusted Let's Encrypt certificates”，并且 “automatically renews your certificates before they expire.” 开启指南里说开启免费 SSL “may take a few minutes.” 在后台里，免费证书显示为 **Basic**：“If you see Basic, your site is currently using the Free SSL, Let's Encrypt.”

开启方法分两种情况：

- WordPress 网站：打开 **Websites（My Sites）→ Manage Site → Security**，打开“SSL Certificate: Let's Encrypt”开关。
- 其他网站：打开 **Marketplace → SSL Certificate**，在“Install SSL On:”里选择域名，点“Enable Free SSL”。

## 把域名指向 Bluehost

AutoSSL 要通过公网验证域名，所以域名必须解析到你的 Bluehost 服务器。Bluehost 默认的 DNS 服务器是 `ns1.bluehost.com` 和 `ns2.bluehost.com`，官方说 DNS 服务器修改 “can take up to 24–48 hours to propagate globally”。如果域名解析留在阿里云、DNSPod 等外部解析商，官方的说法是 “create an A record in your provider's DNS and link the domain to Bluehost to activate the Free SSL”，A 记录指向你主机账户的 IP。`www` 也要加一条同样的 A 记录，或者 CNAME 指向主域名，两个名字都要能验证。

域名在阿里云或腾讯云注册、解析也放在那里的，在云解析 DNS 或 DNSPod 里把 `@` 和 `www` 的 A 记录改成 Bluehost 主机 IP 即可，主机记录分别填 `@` 和 `www`，解析线路保持默认。改完先别急着点 Run AutoSSL，用下文排查一节的 dig 命令确认公网已经解析到新 IP，否则验证请求还是会打到旧服务器上。

## 设了 CAA 记录：放行 letsencrypt.org

域名有 [CAA 记录](https://ssl.sh/zh/glossary/caa/) 的话，必须允许 Let's Encrypt 签发。Bluehost 帮助中心没有给出 CAA 值，但免费 SSL 来自 Let's Encrypt，按 Let's Encrypt 的文档，要放行的标识是 `letsencrypt.org`：

```text
example.com.  3600  IN  CAA  0 issue "letsencrypt.org"
```

把它加在你为其他服务保留的 CAA 记录旁边即可。以后装了别家 CA 的证书，也要把那家加进去。用 [CAA 记录检查](https://ssl.sh/zh/tools/caa-checker/) 确认实际生效的记录；CAA 挡住签发时，AutoSSL 日志里的表现见 [CAA 记录阻止签发](https://ssl.sh/zh/errors/caa-record-prevents-issuance/)。

## SSL 卡片显示不安全怎么排查

SSL 卡片显示不安全时，先看 SSL 日志找原因，修好 DNS 后在 cPanel 里重新运行 AutoSSL。网站 **Security** 标签里的 SSL 卡片会显示 “SSL Certificate is secure.” 或 “SSL Certificate is not secure.”，没有有效证书时状态是 Not secure。官方的处理步骤：

1. 点 SSL 卡片上的竖向省略号，选择 **View SSL logs**，会进入 cPanel 的 SSL/TLS 概览，AutoSSL 日志里写着域名失败的原因。
2. 选中域名，点 **Run AutoSSL**。
3. 如果这个域名之前被排除在 AutoSSL 之外，先点 **+ Include during AutoSSL**，再点 Run AutoSSL。成功后会提示 “Success: The following domains have had their AutoSSL exclusion removed:”。
4. 运行成功后，域名会显示 **AutoSSL Domain Validated**。

如果日志报验证失败，说明域名没有解析到 Bluehost，或者验证请求被拦截了：改正 A 记录或 DNS 服务器，验证期间关掉 CDN 代理，检查 CAA，再运行一次 AutoSSL。先查公网解析结果：

```bash
dig +short NS example.com
dig +short A example.com
dig +short A www.example.com
dig +short CAA example.com
```

cPanel 的 AutoSSL 本身也会定期运行，刚改完 DNS 服务器时，可以等解析生效，不必反复手动运行。反复失败的请求会触发 Let's Encrypt 的频率限制，见 [Let's Encrypt 频率限制](https://ssl.sh/zh/errors/lets-encrypt-rate-limit/)。

## 强制 HTTPS

Bluehost 不会自动强制 HTTPS，跳转规则要自己加。官方原文是 “The Free SSL does not automatically enforce HTTPS on your domain or subdomain; it must be activated manually.” 强制 SSL 指南用的是 `.htaccess`，在 **Hosting → File Manager** 里编辑（打开 Show Hidden Files 显示隐藏文件）：

```apache
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
```

WordPress 网站要把这段放在 WordPress 规则块的上面，并把 **设置 → 常规** 里的两个地址都改成 `https://`。更多写法见 [HTTP 跳转到 HTTPS](https://ssl.sh/zh/guides/redirect-http-to-https/)。Bluehost 帮助中心没有 HSTS 开关，等全站都能正常走 HTTPS 后，可以按 [开启 HSTS](https://ssl.sh/zh/guides/enable-hsts/) 自己加响应头。

## 处理混合内容

证书生效后页面还引用 `http://` 地址，就会出现混合内容。Bluehost 的建议是把站内链接改成 HTTPS 或相对地址。WordPress 上常见的来源有：站点地址设置、文章和页面构建器里存的链接、主题选项，以及主题里写死的资源地址。用数据库搜索替换把 `http://example.com` 改成 `https://example.com`，再清一下缓存插件。做 WooCommerce 店铺的，改完重点检查商品图片、支付按钮和结账页，结账页出现“不安全”提示最影响下单。

用 [混合内容扫描](https://ssl.sh/zh/tools/mixed-content-scanner/) 扫一下主要页面，浏览器会拦截哪些资源见 [混合内容警告](https://ssl.sh/zh/errors/mixed-content-warning/)。

## 能不能上传自己买的证书

可以。在 **Websites → Manage Site → Security** 里，SSL Certificates 卡片的省略号菜单有 Generate CSR、Upload SSL 和 View SSL Logs。可以在这里或用 [CSR 生成](https://ssl.sh/zh/tools/csr-generator/) 生成 CSR，买好证书后上传证书、私钥和 CA 证书链。AutoSSL 不会续期你上传的证书。公开证书 2026 年 3 月 15 日起最长 200 天，2027 年 3 月 15 日起 100 天，2029 年 3 月 15 日起 47 天，上传的证书一年要换好几次，免费的 Let's Encrypt 则会自己续。浏览器提示证书链有问题时，见 [安装中间证书](https://ssl.sh/zh/guides/install-intermediate-certificate/)。

## 验证

SSL 卡片显示安全后，主域名和 `www` 都应返回 Let's Encrypt 签发的证书，HTTP 请求跳转到 HTTPS。从外部检查：

```bash
curl ssl.sh/example.com
curl ssl.sh/www.example.com
curl -sI http://example.com | grep -iE '^(HTTP|location)'
```

网页版 [SSL 证书检查](https://ssl.sh/zh/tools/ssl-checker/) 会显示签发者（免费 SSL 是 Let's Encrypt）、包含的域名、证书链和到期日。Let's Encrypt 从 2025 年 6 月 4 日起不再发到期提醒邮件，默认证书 2027 年 2 月 10 日缩短为 64 天，2028 年 2 月 16 日缩短为 45 天，AutoSSL 失败而没人发现时，证书很快就会过期。可以把域名加入 [ssl.sh 监控](https://ssl.sh/zh/monitor/)（开发中），从外部盯着。
