自建服务最后一百米
宿舍小主机一直在使用cloudflared进行内网穿透,将服务挂在公网上,但是cloudflared服务在国内的速度属实拉垮。前几天突然想到早期的idc主机分销,看见了香港节点,号称三网全部30ms延迟,这拿来做反向代理,速度不是狠狠得快? idc主机分销 应该是在初中的时候接触到这个东西,大致原理就是一台宿主机,通过将空间隔离分给每个用户,然后配置好统一的环境,用户上传代码即可跑起来。(当然仅限php) 这些主机分销目前自己了解的来源主要有:自己的服务器、EP分销或类似的产品。EP分销相当于别人提供好服务器,并将服务器调用接口的权限卖给你,这样就可以调用接口创建自己的空间搭建服务了。 这些服务器通常会搭建好Nginx/Apache + Mysql + PHP环境供用户使用,面板大概是Kangle和EasyPanel,再就是后面Young小杰出的宝塔分销面板。 这些主机大概都非常便宜,一般就几块钱一个月甚至一年,之前盛行的时候甚至有免费的ep分销,甚至很多非常好的线路也都是几块钱就有调用权限(一般调用权限是一个月的,但是主机的可用权限可以设置永久,不知道改了没有),但是最近搜了一下,发现没有几家了。又是一个时代的没落。。 好在当时留了几个做这类的群,里面有一个站长甚至当时是小学生还是初中生就开始做这个了,现在已经高中了还在做,真的很难得。 搭建代理 以宝塔面板为例(没试其他面板),将域名绑定到主机,使用Nginx提供的伪静态功能添加反向代理规则。 1 2 3 4 5 location ^~ / { # 例如:https://baidu.com proxy_pass 网址; proxy_ssl_server_name on; } 将网址改为用cloudflared穿透出来的域名即可。proxy_ssl_server_name on一定要开启,否则会导致服务器和cloudflare握手失败。 SSL证书问题 这算是个大问题,可能会导致串站啊,未开启ssl用https会跳转到其他页面等问题。 申请SSL证书 配置的第一步当然是申请了,为了方便,最好申请一个通配符证书,freessl好像是用不了了。好在找到了另一家JoySSL。 永久免费SSL证书_永久免费https证书_永久免费ssl证书申请-JoySSL 添加一个域名解析,就可以自动申请了。 申请完之后点击下载。 解压后将证书文档/Nginx下的.pem文件内容复制到证书处,.key文件复制到密钥处,点击保存。 这样基本上你绑定在运行目录下的域名就可以使用https了。(子目录目前还是不行) 解决串站问题 所谓的串站、未开启ssl用https会跳转到其他页面问题,应该是没在宝塔设置默认网站导致的。 而子目录默认不会开启ssl,需要自己手动配置一下。 在伪静态页面配置如下: 1 2 3 4 listen 443 ssl http2; ssl on; ssl_certificate /www/server/panel/vhost/cert/yziyf2ya.com/fullchain.pem; ssl_certificate_key /www/server/panel/vhost/cert/yziyf2ya.com/privkey.pem; yziyf2ya.com是默认绑定的域名,自己在域名绑定页面查看一下即可。这样就也可以用上你之前保存的证书了。(想要用其他证书应该是不行的,经过尝试,配置内容里面包含wwwroot和root会直接提示检查文件内容,但是你的目录是在wwwroot目录下的,基本上没有啥办法) DNS解析速度 Cloudflare解析速度: DNSPod解析速度: 可以发现DNSPod要好不少,看来平时卡也有dns解析慢的一份功劳。迁回DNSPod的话,得留一个域名在CF,这样就需要两个域名咯。 访问速度 在联通网络的情况下优势还是很明显滴,但是校园网好像对cloudflare支持格外友好,没什么差别。 最后的配置 Nginx 1 location ^~ / { # 默认规则 set $target_host xxx....