前因
其实在以前的文章中,我是有比较公式化的建站建议的,内容如下:
如果要发布到公网上的,大家需要根据实际环境和自己使用的反向代理选择最适合自己的发布方式,可以参考我以前的几篇文章:
1、docker系列 使用docker基于NPM搭建自己的反向代理
2、linux面板系列 配置反向代理并使用非443端口进行发布
3、家庭数据中心系列 通过国内备案云主机白嫖cloudflare实现国外快速访问国内站点
4、家庭数据中心系列 通过无公网IP的家庭宽带白嫖cloudflare实现快速建站(通用)
其中第1,2种方式适合有公网ip却没有合法443端口的环境(家庭宽带、未备案的云主机),需要在url后面加非标端口(如果使用cloudflare建站的不需要加端口,但是需要自定义源站端口,这个可以参考:家庭数据中心系列 通过cloudflare的Origin Rules解决建站有公网IP却没有合法的80、443端口的问题)。第3种方式适合有备案的云主机,第4种方式适合所有环境(包括没有公网IP的环境),也是我建议的方式(不管你的环境有没有公网IP,因为这种方式不需要直接在公网上跑https流量)。
从纯技术层面来讲上诉描述是没有任何问题的,但是我为什么又要单独水这么一篇文章来说有公网IP的家庭宽带建站注意事项呢?起因是我昨天遇到了一件奇葩事。不过在说正事之前首先还要提一下我以前的英勇事迹之被电信发了告知函,函件内容如下:
收到这个函件的原因应该是我挂PT导致每月产生了几十T的上传流量,估计一个人的流量顶1个小区。。所以导致被严重怀疑搞CDN的非法运营,当时上门来给我送函的人还故意冲进屋到各个屋子里逛了圈,可能是在找服务器。。不过大家放心,我现在已经改过自新,限制了上传速度,毕竟各大站都毕业了。。有了这个前科打底,所以我对自己的成分还是有点自知指明的,毕竟也算是有过黑历史的人,放在以前就相当于进过”牛棚”,成分不好。
昨天下午,忽然收到电信运维人员的电话,很直接就问我是否发布了网站,要赶紧关闭掉,否则要封IP。。卧槽,我发布的网站多了去了,毕竟号称家庭数据中心。。但是为啥会忽然给我打电话?按照我以前的理解,家庭宽带的公网IP本来就没有80和443端口,用其他端口对外发布服务问题不大才对,而且我全站都是https的,又看不到我的实际内容,凭啥让我关网站?
不过我毕竟是有黑历史的人,所以我态度也很好,就问那个电信运维人员具体是哪个网站,想着如果是个不重要的站点配合关闭了就是,然后那个运维人员就叫我加他微信,并把他聊天记录截图发给我看:
我一看那个域名和网址、还有小区地址、联系方式都和我没有一毛钱关系,当时就懵了,直接给运维人员说找错人了,别人查了一下也说的确找错人了。本来这事也就到此为止了,不过我回过头来想想又不对味,凭啥给我打电话,必须找到具体原因,难倒因为我是重点嫌疑人,凡事先找我??所以我又给运维人员打电话,问为啥会找错人,必须给我一个说法,然后别人又把前面的聊天记录发给我看,原来前面发错的信息域名就是我的未备案域名了,估计是从很多监控到的未备案域名访问信息的列表里复制粘贴的时候复制错了,把我的复制粘贴上去了,原因算是找到了。
从上面那个聊天记录来看,有两个特征:一是域名没备案,二是使用的http明文访问的方式。其实以前电信对这种访问流量都是睁一只眼闭一只眼的,现在这样估计是因为上面对网络监管政策越来越严导致的,毕竟大环境不好,生怕有人干坏事。。
后果
基于以上的事实和以后只会越来越严的网络监管政策,我对使用有公网IP的家庭宽带进行建站的建议进行如下调整:
1、主要在国内使用的域名还是建议进行备案
以前我的文章中,只是说要使用国内CDN的话域名必须备案,这个是强制性的,但是如果是配合cloudflare使用公网IP做源站的方式建站,备案就不是一个必选项,只不过这样说法的前提是电信对http和https的入向访问流量睁一只眼闭一只眼。不过现在看来,电信已经开始对未备案域名的入向http流量动手了,对入向https流量动手怕也只是个时间问题,毕竟看不到你在做什么,那你大概率就是在干坏事,所以以后主要在国内使用的域名还是老老实实备个案吧,拿一张良民证防身。
2、https成为必选项
备案域名配合国内CDN作为源站域名使用的时候,虽然有http和https可选,但是看现在这个情形,https已经成为必选项了,备案域名+https成为今后一段时间安全的保障。否则就算域名备过案,但是你却跑的明文http,别人要查你在找点茬简直就不费吹灰之力,如果是https的加密流量,别人或许就懒得费劲了。
3、使用cloudflare建站只建议采用tunnel方式
虽然在家庭宽带有公网IP的时候,使用cloudflare可以直接将公网IP作为源站地址(参见:家庭数据中心系列 通过cloudflare的Origin Rules解决建站有公网IP却没有合法的80、443端口的问题),但是以后不管家庭宽带有没有公网IP,我都优先建议tunnel方式,毕竟这种方式的流量不会外显为https入向流量,安全第一嘛。
4、如果不愿意备案,就只能采用cloudflare并优化访问速度
对于个人博客而言,cloudflare的worker优化方案还是能一战的,可以参考本博客的访问速度(com结尾的域名),free计划就能提供的高性价比的流量清洗和安全防护功能,对于不愿意备案的朋友,还是一个很好的选择的。后续我会写一个cloudflare的系列教程,这个系列的日程都排了很久了,不过一想到要写好多我就犯懒。。能拖一天是一天吧。。。