客户问我图片链接是不是钓鱼网站,我连夜给产品图换上了自家域名
昨晚十一点多,荷兰一个客户回了我邮件。他没问报价,也没砍价,先问了一句:“The image links point to a website I don't know, is this safe?”(图片链接指向一个我不认识的网站,这安全吗?)
我心里咯噔一下,点开自己白天发的报价单,每张产品图右键“复制图片地址”,全是一长串我自己都念不顺的第三方域名。说实话,客户警惕是对的,换我收到一封陌生域名图片的邮件,我也不敢点。那一晚我没干别的,就把一件事办了:给所有产品图换上自己的域名。
一、没买服务器,图片怎么能用我的域名?
我本来以为,想用自己的域名就得自己搭图床、买存储,查了一圈才明白完全不用。图片还在原来的图床/对象存储上躺着,我只是加了一个“别名”。
具体就两步:
- 去域名的 DNS 管理里加一条 CNAME 记录,把
img.我的域名.com指向服务商给我的一个地址; - 让服务商给这个子域名自动签一张 HTTPS 证书。
我后来用一个蹩脚的类比给自己讲明白:CNAME 就像电话呼叫转移,别人拨的是 img.我的域名.com,通话自动转到服务商那里去,图片依然是服务商在提供,可对外显示的号码是我的。至于证书,就是浏览器地址栏那个小锁,证明这个域名确实归我、连接是加密的。
二、动手绑,卡在了“证书还没好”
流程不难,我原以为十几分钟搞定,结果还是踩了坑。
第一步是挑子域名。我专门留了个 img,不敢用 www,主站还在跑,怕把主站搞挂。
第二步去图床后台填 img.我的域名.com,拿到一串 CNAME 目标地址。
第三步去 DNS 控制台加记录,类型 CNAME、主机记录 img、记录值粘贴服务商给的地址。
第四步回后台点“验证”,等它签证书。
坑就出在第四步。 我手太快,看后台显示“绑定中”就急着把新链接发给客户测试了,结果对方浏览器直接报“您的连接不是私密连接”。我吓出一身汗,回后台一看状态还是“证书签发中”。原来证书没签好之前,这个域名的 HTTPS 是不通的,这会儿硬发只会让客户看到更吓人的报错。老老实实等了十来分钟,状态变成“已签发”,小锁才出来。
等的过程中我也没闲着,学会了两条验证命令:
# 看域名是不是已经别名到服务商
dig img.我的域名.com
# 用公共 DNS 再查一遍,排除本地缓存
dig @1.1.1.1 img.我的域名.com
# 看 HTTPS 状态码和证书
curl -I https://img.我的域名.com/test.png
最后又开了个无痕窗口,点开图片、点地址栏小锁,核对证书是签给我自己域名的,这才放心。
三、几百张旧图,难道要我重传一遍?
域名绑好了,可一想到报价单、详情页、邮件模板里已经发出去的几百张图,我头都大了。
结果发现这事比想象中省事:路径和文件名没变,只是域名变了,老图根本不用重新传。我要做的,是把旧链接里的主机名换掉,后面的路径原样留着:
https://老的第三方域名/a/b/console.png
↓
https://img.我的域名.com/a/b/console.png
不过我没敢直接批量替换,先做了个验证:挑了一张绑定之前传的老图,用新域名拼上同样的路径 curl 了一下,确认能正常取到图——这说明绑定后老资源在新域名下也能访问。验证通过,才敢在 Markdown 报价模板和邮件模板里全局替换主机名。
中间也有个别页面对不上:有个地方新域名下的目录结构和旧域名不一样,那种图就不能只改域名,只能重新传一遍、拿新链接。全部换完,我又用无痕窗口加手机流量看了一遍,怕 CDN 缓存让我看到的还是旧图。
四、哪些地方的图最容易“露馅”
折腾完我顺手盘了一下,图片的第三方域名最容易在这几个地方被客户看到:
- 详情页里右键“在新标签页打开图片”;
- 邮件里右键“复制图片地址”;
- WhatsApp、微信里发图,对方点开能看到来源;
- PDF 说明书里的图片,点一下跳到陌生域名。
顺带说一句,邮件里的图片本来就容易被邮箱默认屏蔽掉,客户要手动点“显示图片”才看得到,这时候图源域名再陌生,他更不敢加载。我之前在这篇邮件图片排查记录里详细记过邮箱为什么默认不加载远程图。
五、值不值得折腾,我的判断
忙完已经快凌晨两点,但我觉得值。以后不管给客户发报价、发邮件还是发 PDF,图片地址都是自己的域名,心里踏实。
我自己的判断标准是这样:
- 值得绑:长期做外贸、经常发邮件和产品资料、在意品牌一致性;另外将来真要换图床,只要改一下 CNAME、把资源迁过去,对外的域名可以不变,迁移没那么疼。这和我之前用的“同名覆盖、链接不变”其实是一个思路——让外面看到的链接保持稳定,把会变的东西藏在后面。
- 不必着急绑:自己写写博客、只在内部文档里贴贴图、或者项目还在测试阶段,用默认域名完全够。
还有一点要泼盆冷水:这招解决的是“域名是不是我的”,不解决“图片在海外打开快不快”。访问速度是 CDN 就近分发和图片体积的事,别以为换了自己的域名客户那边就秒开。
至于具体用哪家,我的做法并不绑定任何一家:自建对象存储套 CDN 能这么配,任何支持自定义域名的图床也都能做。我自己图省事,图源放在图床小镇,后台填个子域名、证书自动签发就完事了,不用自己折腾证书续期,但这只是个人选择,同类服务不少,大家按自己情况挑,不必照搬。
浙公网安备 33010602011771号