前情:OP 有个自己的歌曲库,400 多 G ,大几万首歌吧,都是 PT 上爬的大包。手工糊泥巴前后端,写了个播放页面,挂在阿里云 ecs 上,解决跑步时听歌问题。
原来有电信公网 IPV4 ,歌曲库放家里,用 nginx host ,然后端口映射出去。
5 月电信收了公网 IPV4 ,直接销户换了联通,当然是没公网 IPV4 了,于是用另外一条还有公网 IPV4 的家宽做 nps server ,转发也能用,但是家宽 IP 一个月一变,总有那么几天 dns 刷新解析不方便,另外那个公网 IP 也岌岌可危,听说阿里轻量云不限流量,那不是为转发设计的吗,刚好还可以试用,这就干起来了。
正文:开通轻量云,第一感觉是界面好简单,和 ECS 比起来有点简陋了,第二感觉,系统慢,说是 2C 4G ,觉得比 ECS 反应慢多了,apt update 肉眼可见慢,估计是 hdd ,而且用的是退役老旧机器。
NPS ,NPC 安装都轻车熟路,改下域名的解析到轻量云上,电脑上一点,页面打得开歌放的出,看上去是妥了,又试了 android 手机也没问题;但是发现苹果手机上不行,Ipad 也不行,开始以为是域名解析还没过来,过了一天还是这样,就苹果手机 ipad 不行,电脑无论 mac 和 windows 都行,android 也可以。我用 postman 模拟 mac 的请求,也获得不了文件服务器上的歌,直接返回 ECONNRESET ,nginx 的 log 上看不到苹果手机和 ipad 的请求。
什么都检查到了,决定重新换穿透端口,换域名,还是不行,但是这次看日志,发现苹果手机的第一次请求,有日志记录,但是没通,第二次请求就直接 ECONNRESET 了,log 上没有了。
推测:阿里云外面有类似 WAF 的过滤,具体什么样的不清楚。为什么 android 可以,苹果不行,电脑可以,手机不行?电脑的 macos 是最新 26 ,苹果手机没升级。如果不是 http/https 的请求是不是会好一点?如果是 ecs 是不是好点?
我有一台 ecs 做家里群晖的转发还可以,没配域名,直接用 IP 的,但是这个听歌的页面,都是 https 的,不能降级还必须配个域名然后在 nginx 里配了 ssl 证书。
