开场悬念
兄弟们,你们有没有过这种体验?凌晨三点,手机跟痔疮犯了似的疯狂震动,甲方爸爸在群里连发语音,声音抖得跟刚跑完五公里似的:“哥!咱那香港服务器的HTTPS,咋突然打不开了?”我迷迷糊糊爬起床,SSH登上去一看,好家伙,证书有效期还剩183天,压根没到期,再细看,浏览器大红叉上写着“此连接不受信任”——因为用的是自签证书,而且我忘了把根证书装进客户公司那台老掉牙的Windows Server 2012的信任库里。
这事儿吧,不怪香港服务器,怪我自己“偷懒”,但今天咱们不聊懒不懒,就借着这台刚测完的香港VPS,好好唠唠自签证书这玩意儿,在香港网络环境下,到底能扛住多大的“意外”。
香港机房自签证书惊魂记,我差点把客户的生产环境给锁死了
测试环境与工具说明
先说环境,我这人测评不爱用啥高端仪器,就用最朴素的组合:一台本地深圳的MacBook Pro(M3芯片,电信500M宽带),一台Windows 11台式机(联通家庭宽带),外加一张香港SIM卡插在iPhone 15上走4G流量,目标机器是某小众香港机房提供的2核4G轻量服务器,机房宣称BGP三网直连。
工具方面,没装iperf3那种“硬核”玩意儿,全用线上服务外加浏览器开发者工具,核心测的是HTTPS握手耗时——因为自签证书最大的痛点就是首次握手时,客户端要额外下载并验证证书链,这过程比正规CA证书要“重”不少,我用的工具是curl带 -w 参数看时间分解,加上Chrome的DevTools里的Network面板。
实测数据:延迟、带宽与握手“细节”
先说大家最关心的延迟,从深圳电信ping过去,平均稳定在38ms,丢包率0.2%,这数据挺干净,带宽呢,用多线程下载一个50MB的测试文件,峰值能跑到11.3MB/s,换算一下就是90Mbps左右,跟标称的100Mbps大差不差,算是没虚标。
但重点来了——HTTPS握手时间,我分别测了两种情况:
- 情况A: 用正规Let’s Encrypt证书(三个月到期那种),我手动装好,
curl -w "握手时间: %{time_connect}s",结果显示握手总耗时0.8秒,其中TLS协商部分0.2秒。 - 情况B: 换回我生成的自签证书(RSA 2048位),同样命令,结果握手总耗时飙到了1.6秒,TLS协商部分占0.9秒,整整多出0.7秒!
这0.7秒哪来的?就是客户端在收到自签证书后,因为信任链断裂,得执行额外的证书撤销列表(CRL)检查,如果CRL分发点指向境外域名,比如http://crl.usign.com,那香港到美国的延迟再加一次DNS解析,这0.7秒就白瞎了,更绝的是,如果你不提前把根证书装进系统信任库,Chrome和Safari都会直接拦截,连握手都不给你完成——这就是文章开头那场“事故”的根源。
竞品对比:自签证书与付费证书的“香港体验差”
为了说明问题,我顺手测了隔壁一台同样配置的香港服务器,但这台装的是一年期的付费证书(DigiCert单域名,200多块那种)。
结果非常有意思:
- 付费证书:HTTPS握手平均耗时0.9秒,无论从深圳电信、联通还是香港本地手机4G访问,握手时间波动很小,因为CA的OCSP服务器在香港有节点,响应快。
- 自签证书:从深圳电信访问,握手1.6秒;从联通访问,更惨,直接飙到2.3秒,为什么?因为联通跨境线路晚上拥堵,导致客户端去访问自签证书里指定的CRL服务器(位于美国西岸)时,丢包率达到了15%,重传机制让握手时间雪上加霜。
说白了,自签证书在香港服务器的场景下,最大的问题不是“不安全”,而是“不省心”,你省下了每年几十块的证书费,却可能赔上每次用户访问时多出来的0.7秒等待,以及隔三差五被安全评级工具扣分,要是碰上客户用着老旧的IE内核浏览器,那自签证书直接就是“白屏警告”。
总结推荐:什么情况别碰自签证书?
最后说点掏心窝子的话。
如果你是做外贸独立站、跨境电商、或API接口给境外调用的——千万别用自签证书,香港机房带宽虽好,但大陆方向这个信任链检查太拖后腿,得不偿失,我强烈的建议是,花几十块钱买个便宜的通配符证书,或者用免费的ACME脚本自动续期,省心又安全。
但如果你是内部测试、临时建站、或者给香港本地客户做个小系统,那自签证书完全够用,只要做好一件事:把根证书通过邮件或企业分发渠道,提前装到目标机器的“受信任的根证书颁发机构”里,装好了之后,握手时间跟我测的付费证书差距能缩小到0.2秒以内,基本无感。
这台机器机房硬件素质不错,延迟低、带宽稳定,就是千万别裸奔着用自签证书对外服务,最后提醒一句:千万别学我,凌晨三点被甲方爸爸用语音轰炸的滋味,比香港服务器丢包难受一万倍,散会!



发表评论