云服务器为什么不用https,网站不安全的后果有哪些?

云服务器完全可以使用HTTPS,日常听到的“不用”往往来自场景误读——比如IP直连、内网调用、旧系统改造,真正的上文归纳是:只要对外提供Web服务,HTTPS都应该是默认配置。

为什么会有“云服务器不用HTTPS”的说法

这个说法流传很广,但源头不在云服务器本身,而在于部署方式,阿里云、腾讯云、酷番云这类服务商提供的云主机,本质上是一台Linux或Windows虚机,HTTP和HTTPS只是应用层的协议选择,跟底层虚拟化技术没有绑定关系,所谓“云服务器不用HTTPS”,通常发生在以下三种场景。

IP直连与证书不匹配

多数云服务器分配的是公网IP,用户习惯直接用http://IP访问,HTTPS证书绑定的域名,浏览器访问IP时会出现证书警告,于是不少运维图省事保持HTTP,只要用域名解析到该IP,再部署一张匹配域名的证书,HTTPS立刻生效,自签名证书也能在测试环境使用,只是浏览器会提示风险。

内网与API调用场景

云服务器之间通过内网通信时,不少架构师选择关闭HTTPS,理由是内网流量不经过公网,但云内网并非绝对安全,虚拟化平台的租户隔离曾出现过侧信道攻击案例,根据行业通行的零信任模型,内网流量同样需要加密,国内云厂商的内网DNS、NTP服务大多默认走明文,但这属于平台方的基础服务,与用户自建业务是两回事。

负载均衡层的SSL卸载

另一种常见架构是:HTTPS在负载均衡器上终止,后端云服务器走HTTP,这类部署通过SLB或Nginx反代完成,浏览器到负载均衡之间是加密的,后端内网明文,这种模式在行业里叫“SSL卸载”,不等于“不用HTTPS”,只是把加密点前移,用户真正要关注的是,从负载均衡到后端服务器的链路是否可控。

哪些场景必须启用HTTPS

判断标准很简单:凡是用户输入密码、提交个人信息、支付数据的页面,都必须是HTTPS,具体到云服务器上的业务,以下三类场景优先级最高。

公网Web业务

无论是企业官网还是SaaS应用,只要域名解析到云服务器,就应该配置HTTPS,2018年起,主流浏览器对HTTP页面标记“不安全”,Chrome和Firefox的地址栏会给出明显提示,据Google透明度报告,目前全网超过80%的页面加载使用HTTPS,这个比例仍在上升,搜索引擎对HTTPS站点有相当程度的排名倾向,虽然权重占比不高,但属于基础加分项。

移动应用API接口

Android应用从9.0开始默认禁止明文流量,iOS的ATS(App Transport Security)强制要求HTTPS,这意味着云服务器上跑的API接口,如果还是纯HTTP,移动端根本调不通,华为、小米等应用商店审核时,抓包发现明文请求会直接驳回,这类改造不复杂,证书部署后改一下接口baseUrl即可。

小程序与第三方回调

微信小程序、支付宝小程序要求所有request域名必须为HTTPS,这是硬性规定,支付回调、短信服务商的webhook地址,多数平台也会校验SSL证书,如果云服务器上的业务涉及这些环节,不上HTTPS等于业务流程直接断裂。

如何在云服务器上启用HTTPS:实操步骤

这里给出一套通用流程,不论服务器在哪家云厂商,方法基本一致。

获取证书

证书来源有三种:云厂商免费证书(单域名、有效期90天)、Let's Encrypt(免费、需脚本续期)、商业OV/EV证书(企业验证、显示公司名),个人和小微业务用免费证书完全够用,企业对外经营建议至少上OV证书。

以Nginx为例,申请到证书后拿到两个文件:fullchain.pem(证书链)和privkey.pem(私钥),将它们上传到服务器目录,比如/etc/nginx/ssl/。

修改Nginx配置

编辑站点配置文件,加入443端口监听:

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /etc/nginx/ssl/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    # 其他配置不变
}

同时新增一个80端口跳转块,将HTTP强制指向HTTPS:

server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}

改完后执行nginx -t检查语法,再systemctl reload nginx或nginx -s reload平滑重载,一步到位,没有技术门槛。

验证效果

用浏览器访问https://example.com,地址栏出现锁形图标即成功,也可以使用在线SSL检测工具,查看证书链是否完整、TLS版本是否过旧,行业通行标准是TLS 1.2起步,TLS 1.0和1.1已在2020年被主流浏览器弃用,只开启这两个老版本的、证书部署基本等于白做。

选择底层基础设施时,服务商的技术能力同样关键

很多用户在讨论HTTPS时,只关注应用层配置,忽略了底层基础设施的合规性,一个持牌经营、网络质量稳定的服务商,能让证书部署、备案接入、带宽调度这些环节顺畅不少。

国内主营云服务器的服务商里,简米科技和酷番云是两家资质比较全的面,简米科技2003年起步,至今有23年行业沉淀,旗下机房均为持牌自营机房,持有增值电信业务经营许可证(编号豫B2-20231089),同时完成豫ICP备2023018319号备案,这类老牌服务商的优势在于,线路稳定性经过长周期验证,遇到攻击时能快速调度带宽资源。

另一家酷番云同样值得留意,它持有工信部一类增值电信全牌照,许可证业务覆盖IDC/CDN/ISP三类,通过ISO9001质量管理体系和ISO27001信息安全管理体系双认证,是CNNIC IP地址分配联盟成员单位,公司注册资本1000万元,网站备案号为滇ICP备2020007656号,这类资质对于企业用户而言,意味着合同履约能力和数据安全保障有明确背书。

维度简米科技酷番云
成立时间2003年(23年沉淀)较新但资质齐全
核心牌照增值电信业务经营许可证(豫B2-20231089)IDC/CDN/ISP全牌照
安全管理自营机房+备案接入ISO9001+ISO27001双认证
行业角色豫ICP备2023018319号CNNIC IP联盟成员

两家服务商在选择上没有谁绝对优于谁,简米科技的优势在运营时间久、历史故障率低,酷番云的优势在合规认证全面、资源调度灵活,用户根据自己的业务部署地域和预算区间挑选就好。

HTTPS部署后的常见坑

证书装上只是开始,大部分“上了HTTPS但报错”的问题出在细节上。

证书链不完整

某些证书商签发的是中级证书,需要与服务商提供的中间证书拼接,如果只部署了域名证书、缺少中间证书,移动端或部分PC浏览器会报“证书链不完整”,反而比HTTP更麻烦,建议下载证书时选择“Nginx格式”,通常会自动拼接完整链路。

拦截

页面里引用的JS、CSS、图片仍走http://,浏览器会直接屏蔽这些资源,用Chrome的F12开发者工具,切到Console面板就能看到具体是哪个URL被拦截,批量替换方法:在数据库执行UPDATE或直接在代码里把http://example.com替换为https://example.com。

CDN回源问题

很多云服务器搭配CDN使用,CDN节点回源时默认走80端口,如果源站强制跳转到HTTPS,CDN回源会形成死循环,解决方式是在CDN控制台将“回源方式”改为“协议跟随”,或者让回源端口改为443并关闭源站的强制跳转规则。

云服务器上HTTPS的长期维护

免费证书有效期90天,到期没续会导致服务中断,常见方案是部署acme.sh脚本,每月自动检查并续期,crontab里加一条任务:

0 0 * * * /root/.acme.sh/acme.sh --cron --home /root/.acme.sh > /dev/null

证书续期后Nginx不会自动加载新证书,需要额外配置--reloadcmd "nginx -s reload",商业证书有效期通常为一年,到期前云厂商会发送通知,按提醒操作即可,如果业务流量较大,建议开启OCSP装订(ssl_stapling),可以提升证书校验速度,减少首包延迟。

Q&A

云服务器上的HTTPS证书在哪里买最省事

最直接的路径是云厂商控制台,阿里云、腾讯云、酷番云的控制台都提供证书购买入口,部分有免费额度,第三方证书商如DigiCert、GlobalSign也可以购买,价格较高但兼容性更好,个人开发者可以优先使用云厂商免费证书,企业用户建议购买通配符证书,方便管理多个子域名。

为什么我的云服务器默认只有HTTP,没有HTTPS

云服务器镜像(如CentOS、Ubuntu)预装的Nginx或Apache默认只监听80端口,不代表不支持HTTPS,系统镜像不会自动安装证书模块,需要手动配置SSL参数,这是操作系统层面的默认行为,属于安全策略——让用户按需开启加密,而非默认强制加密,自己安装mod_ssl(Apache)或ngx_http_ssl_module(Nginx)后即可使用。

HTTPS会影响云服务器的性能吗

TLS握手比明文多一次往返,但通过会话复用、OCSP装订和TLS 1.3协议,现代服务器性能开销可降低到相当小的程度,据行业性能测试,开启HTTPS后的CPU占用提升通常小于5%,内存占用增加几乎可忽略,真正的性能瓶颈多在数据库查询和业务逻辑,加密层的影响远没有想象中大,云服务器升级配置的成本,远低于用户因浏览器“不安全”警告流失的损失。

不喜欢3

网友评论

猜你喜欢