经常上网的朋友会知道一个关键词:ws+tls+cdn。而之前我一直想用nginx加某个神奇的软件实现,但是一直是“PR_END_OF_FILE_ERROR”,而老杨(@cyhour)推荐的一键脚本,网传有后门。再结合实际看看,屏蔽了相关网站的访问,故而,弃用。但是Nginx一直玩不转,便只能依样画葫芦,才用Caddy进行反代。
首先,我使用的是Debian,另外请确保服务器安装了Curl,以下操作我直接以root用户进行的。
进行安装:
curl https://getcaddy.com | bash -s personal
安装完成后,开始配置文件。想知道文件安装在哪?用以下命令就行:
which caddy
配置开始:
//创建配置文件放到 /etc/caddy 目录 mkdir /etc/caddy //创建配置文件 touch /etc/caddy/Caddyfile //设置相应权限 chown -R root:www-data /etc/caddy //设置证书目录 mkdir /etc/ssl/caddy //设置相应权限 chown -R www-data:root /etc/ssl/caddy chmod 0770 /etc/ssl/caddy //如果你打算建站,那就可以考虑配置网站目录 mkdir /home/www chown www-data:www-data /home/www
接下来,从官方仓库中下载 caddy 的 systemctl 守护脚本并对其挂载启动。
curl -s https://raw.githubusercontent.com/mholt/caddy/master/dist/init/linux-systemd/caddy.service -o /etc/systemd/system/caddy.service systemctl daemon-reload systemctl enable caddy.service systemctl status caddy.service
到这里基本完成,我们可以配置网站了。
//打开我们的配置文件 vi /etc/caddy/Caddyfile
这里我用的是vim,如果不熟悉可以用nano 。(不建议用vim-tiny,那个实在是太奇怪了。)
文件配置如下:(以一个简单的websocket加静态网站配置)
www.mhcf.net { log /var/log/caddy/access.log tls www@mhcf.net proxy /caressr 127.0.0.1:10000 { websocket header_upstream -Origin } root /home/www/ }
当然,我们需要用于上网的话,也就是开头说的,那么可以参考如下配置:
abc.xyz { gzip timeouts none proxy / https://abc.com { except /a } proxy /a 127.0.0.1:10000 { without /a websocket } }
abc.xyz为你绑定的域名,abc.com为你想伪装的网站域名。而 /a 则是分流路径。127.0.0.1:10000 是要转发的地方。
完成设置后,重启Caddy服务即可。
如果多个域名,在后面继续写就可以了。如下示例:
abc.xyz{ } def.one{ }
(至于多域名可以不可以,别问我,我还没成功。)
至于我为什么要用Caddy而不是Nginx,除了开头说的没折腾成功之外,最大的好处是Caddy可以让网站自动支持SSL,不用我自己申请证书去弄。
那梦幻辰风目前是什么环境?
Nginx。
全文完 [ 喜欢本文,打赏作者! ]