https是什么端口-默认固定使用443加密传输端口
上次给个人网站配置SSL证书、搭建加密访问通道时,折腾了整整一下午,终于实打实弄明白https是什么端口,也彻底改掉了自己乱套端口配置的坏毛病。
最开始完全凭固有认知操作,一直以为所有网页访问的端口都是通用的80端口,不管是普通网页还是加密网页,直接照着旧配置照搬。改完SSL证书挂载配置后,网站直接彻底失联,浏览器反复刷新都是无法建立安全连接,服务器后台也一直报端口监听异常的提示。当时压根没往端口不对的方向想,反复检查证书有效期、文件路径、服务器防火墙设置,甚至重启了三次服务器,来来回回排查一堆无关问题,浪费了大把时间,问题依旧没有半点解决的迹象。
其实问题就出在端口匹配上。
后来才折腾好久才搞明白,普通的HTTP明文协议,默认占用的是80端口,所有没有加密的网页访问请求,都是通过这个端口完成数据传输。而HTTPS作为加密安全的网页传输协议,有专属的固定默认端口,也就是443端口,两者完全独立,不能通用、不能混用。之前所有故障的根源,就是强行让HTTPS协议监听80端口,端口和协议不匹配,系统自然无法解析加密访问请求,网站也就无法正常打开。
找到问题关键点后,操作就变得特别简单。直接打开服务器的nginx配置文件,把HTTPS服务的监听端口从错误的80,修改为标准的443端口,保存配置文件,执行重启服务的指令,短短几秒过后,网站就恢复了正常访问。刷新页面后,地址栏成功显示出安全锁图标,加密传输状态正常生效,困扰一下午的问题就这么彻底解决了。
实操里还摸透了一个实用细节,日常搭建网站的标准做法,是设置80端口强制跳转443端口。让所有用户的HTTP明文访问请求,自动重定向到HTTPS的443加密端口,既不会让用户出现访问失败的情况,又能全程保障网页数据传输的安全性,这也是所有正规网站的通用配置逻辑。
也试过自定义修改HTTPS的端口,改成444、8080这类小众端口,虽然技术层面可以实现访问,但实用性极差。改动之后,访客必须在网址末尾手动输入自定义端口号才能打开网页,正常输入域名会直接访问失败,完全不符合用户访问习惯,所以几乎没人会改动HTTPS默认的443端口。
真正实操过才清楚,网络协议的默认端口规范不是随便定的。80、443这两个端口,分别对应明文和加密两种网页传输模式,只要记牢这个固定搭配,就能避开绝大多数网站端口配置的低级错误。
收拾完服务器配置、关掉电脑终端的时候,桌上的台灯已经亮了很久,窗外的街道也早就亮起了灯火。