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