建站平台与虚拟主机

Shopify SSL 证书配置与 SSL pending 排查(跨境独立站版)

作者: · 最后核实

Shopify 店铺绑定的每个域名都会自动获得免费的 TLS(SSL)证书,并由 Shopify 自动续期,商家既不用买证书,也没法上传自己的证书。域名如果是在阿里云、腾讯云、GoDaddy 等其他地方注册的,只要 A、AAAA、CNAME 三条记录指向 Shopify,最长 48 小时内证书就会出来。超过 48 小时后台还显示 “SSL pending” 或 “SSL unavailable”,几乎都是解析记录、CAA 记录或 DNSSEC 的问题。

内容以 Shopify 官方帮助中心为准(截至 2026 年 11 月)。状态名和报错按官方英文原文列出,中文后台显示对应译文。

Shopify 的证书是怎么来的

证书完全由 Shopify 负责,商家只管域名解析。官方帮助中心说明,店铺自带的 .myshopify.com 地址、在 Shopify 购买或转入的域名、从第三方连接过来的域名,都会自动签发证书,而且所有添加到 Shopify 的域名都免费。做跨境的卖家常常一个店铺挂好几个域名,比如主域名 example.com、www.example.com,再加一个面向某个市场的域名,每个域名指向 Shopify 之后都会各自拿到证书。

Shopify 没有说某张证书具体由哪家 CA 签发。它在 CAA 说明里列了三家:Let's Encrypt、Google Trust Services(标识是 pki.goog)和 SSL.com。所以你检查证书时看到的签发者可能是三家中的任意一家,续期后还可能换成另一家,这也是 CAA 必须三家都放行的原因。域名连接成功、证书就绪后,域名页面会显示 Connected。

把域名解析到 Shopify

先在后台连接域名,再到域名解析商那里添加记录。路径是 Settings(设置)→ Domains(域名)→ Connect existing domain(连接现有域名)。官方说 Cloudflare、GoDaddy、IONOS 的域名可以一键自动连接;阿里云(万网)、腾讯云 DNSPod、Namecheap 等其他解析商需要手动添加下面三条记录:

记录类型 主机记录 记录值
A @ 23.227.38.65
AAAA @ 2620:0127:f00f:5::
CNAME www shops.myshopify.com

在阿里云云解析 DNS 或 DNSPod 里添加时,“主机记录”填 @ 或 www,“解析线路”保持默认即可。根域名上原有的其他 A 记录、AAAA 记录都要删掉,保证各只剩一条;也不要留指向 Shopify 的泛解析(*)记录。有的面板不接受 IPv6 的缩写形式,官方给出的完整写法是 2620:0127:f00f:0005:0000:0000:0000:0000。第三方域名是靠解析记录接入的,不需要把 DNS 服务器改成 Shopify 的,继续用注册商默认的 DNS 服务器或你现在的解析商就行。

域名托管在 Cloudflare 的,指向 Shopify 的记录必须设为“仅 DNS”(灰色云朵)。Shopify 的说明原文是 “Cloudflare proxy setups, including Orange-to-Orange, aren't supported”,开了代理 Shopify 就看不到真实的指向,证书也签不下来。

Shopify 的服务器不在中国大陆,接入自有域名不需要做 ICP 备案。

设了 CAA 记录:三家 CA 都要放行

Shopify 本身不需要 CAA 记录,但只要域名上有 CAA,就必须把 Shopify 用到的三家都写进去。官方原话是 “You don't need CAA records for your store.” 如果你因为别的业务(比如公司邮箱、其他子站)加过 CAA,或者以前在 DNSPod 里只放行了某一家,就补齐下面三条:

example.com.  3600  IN  CAA  0 issue "letsencrypt.org"
example.com.  3600  IN  CAA  0 issue "pki.goog; cansignhttpexchanges=yes"
example.com.  3600  IN  CAA  0 issue "ssl.com"

官方还提醒了两种会挡住签发的写法:值只有一个分号的 CAA 记录等于禁止所有 CA 签发;带 accounturi、validationmethods 这类参数的记录,即使 CA 名称写对了,也可能挡住 Shopify。可以用 CAA 记录检查 查看实际生效的记录,原理见 CAA 记录阻止签发。

一直显示 SSL pending 或 SSL unavailable 怎么排查

先等满 48 小时,再按解析记录、CAA、DNSSEC 的顺序查。官方帮助中心在 Settings → Domains 里用到这几个状态:

  • “SSL pending”(也写作 “TLS pending”):在等 DNS 生效和证书签发,最长 48 小时。
  • “SSL unavailable”:Shopify 无法为这个域名签发证书。
  • “Your connection is unsecure”:没有有效证书时,买家在店铺前台看到的提示。

Shopify 能判断出原因时,会直接给出提示,官方列出的原文是:

  • “Your domain doesn't permit Google, Let's Encrypt and SSL.com to provision SSL certificates.”:按上一节补齐三条 CAA 记录。
  • “Your domain's CAA record blocks SSL certificate provisioning.”:删掉只有分号或限制过严的 CAA 记录,或者补全。
  • “A DNSSEC misconfiguration is blocking access to your DNS records.”:到域名注册商(比如阿里云域名控制台)关闭 DNSSEC,生效最长要 48 小时。
  • “Your domain has an unsupported DNSSEC record.”:针对开着 DNSSEC 转入 Shopify 的域名,需要联系 Shopify 客服处理。

没有提示的话,就按官方的检查顺序来:确认 A 记录是 23.227.38.65,核对 AAAA 和 CNAME,检查 CAA,关闭 DNSSEC,过了 48 小时仍然 pending 就联系 Shopify 客服。用 dig 查看公网实际的解析结果:

dig +short A example.com
dig +short AAAA example.com
dig +short CNAME www.example.com
dig +short CAA example.com

如果大部分买家都能看到小锁,只有个别人反映“不安全”,官方给的方向是客户端太旧:Android 7.0 及以下的手机、2010 年以前的浏览器。

强制 HTTPS:不用设置

Shopify 没有“强制 HTTPS”开关,因为它默认就会把访问者从 HTTP 跳转到加密的店铺页面。HSTS 也由 Shopify 处理:官方说域名连接在店铺期间 HSTS 始终开启,域名移除后这条策略在浏览器里还会保留 90 天。将来如果把域名迁到别的建站平台,新平台必须一开始就有可用的 HTTPS。也不要在 Shopify 前面的解析商或代理上再加一层跳转规则,只会多一次跳转甚至造成循环。

处理混合内容

页面上只要有一个资源不是通过 HTTPS 加载,整页就会被当成不安全。官方原话是 “Any page in your Shopify online store that includes an asset that isn't delivered over HTTPS is considered to be insecure.” 常见来源有:主题代码和自定义 Liquid 区块里写死的 http:// 地址、页面正文里贴的图片、第三方应用插入的代码,以及放在国内图床或其他服务器上的字体和图片。官方建议把店铺用到的素材都上传到 Shopify,这样自动走 HTTPS;必须外链的资源,要换成能正常打开的 https:// 地址。

用 混合内容扫描 把首页、商品页和购物车页各扫一遍,按结果逐个替换 http:// 链接;浏览器对不同资源是拦截还是只警告,见 混合内容警告。改主题或装新应用之后都要重新扫一次,结账页尤其要查。

能不能上传自己买的证书

不能。官方原文是 “You can't use third-party SSL certificates with your Shopify store.” 帮助中心没有给任何套餐开例外,所以在别处买的 OV、EV 证书都用不到店铺上。如果同一个域名下还有不在 Shopify 上的系统(比如放在云服务器上的 api.example.com),证书装在那台服务器上即可,同时 CAA 记录要同时放行那家 CA 和 Shopify 的三家。

验证

配置正确时,签发者是 Shopify 的三家 CA 之一,域名匹配,证书链完整,到期日在未来,HTTP 跳转到 HTTPS。后台显示域名已连接后,从外部检查主域名和 www:

curl ssl.sh/example.com
curl ssl.sh/www.example.com

也可以用网页版 SSL 证书检查。再确认 HTTP 会跳到 HTTPS:

curl -sI http://example.com | grep -iE '^(HTTP|location)'

续期与证书有效期变化

只要域名一直指向 Shopify、CAA 一直放行那三家,续期完全自动。整个行业的证书有效期在缩短:2026 年 3 月 15 日起公开 TLS 证书最长 200 天,2027 年 3 月 15 日起 100 天,2029 年 3 月 15 日起 47 天(见 证书有效期时间线)。续期越频繁,解析被改错、有人新加了 CAA 记录这类问题就暴露得越快。改过 DNS 之后回后台检查域名状态,也可以把域名加入 ssl.sh 监控(开发中),从外部盯着证书到期时间。

常见问题

Shopify 独立站还需要单独买 SSL 证书吗?

不需要。Shopify 给店铺里添加的每个域名免费签发证书并自动续期,而且官方明确不支持第三方证书,买了也装不上。

域名在阿里云,解析改完 48 小时还是 SSL pending,怎么办?

依次检查:根域名是否只剩一条 A 记录 23.227.38.65 和一条 AAAA 记录 2620:0127:f00f:5::;www 是否是指向 shops.myshopify.com 的 CNAME;有没有 CAA 记录没放行 letsencrypt.org、pki.goog、ssl.com;域名控制台里 DNSSEC 是否关闭。都没问题仍然 pending,按官方建议联系 Shopify 客服。

Shopify 店铺接入自己的域名要做 ICP 备案吗?

不需要。ICP 备案针对的是解析到中国大陆服务器的网站,Shopify 的服务器不在大陆。域名注册在阿里云或腾讯云也没关系,只要按要求添加解析记录即可。

可以开 Cloudflare 的代理(小黄云)给 Shopify 加速吗?

不可以。Shopify 的 Cloudflare 接入说明写明不支持代理模式,包括 Orange-to-Orange。DNS 可以继续托管在 Cloudflare,但指向 Shopify 的记录要设为“仅 DNS”。

资料来源

  1. Shopify Help Center: Secure connections
  2. Shopify Help Center: Troubleshoot issues with domains
  3. Shopify Help Center: Connect a third-party domain manually
  4. Shopify Help Center: Connecting a domain from Cloudflare
  5. Shopify Help Center: Domains terminology