配置Hysteria时踩的一些坑
前言
之前配置好的ss许久不用,今天一用不知道为什么寄了,客户端显示能够连接,服务端能够运行,但是没有连接成功的日志,试过取消CDN,但是依旧无法正常代理,遂作罢,投奔Hysteria。
NGINX占用端口
Hysteria获取证书用到的是Let’s Encrypt,要求服务器支持 ALPN 协议(Application-Layer Protocol Negotiation)并能正确响应 TLS 请求。
而我的日志出现了:
Cannot negotiate ALPN protocol "acme-tls/1" for tls-alpn-01 challenge
这通常是因为防火墙或者443端口被占用了,而我的服务器上显然是因为NGINX。
只需要暂时关闭NGIXN,重新运行Hysteria,就能申请成功。
域名套了CDN
Hysteria 尝试通过 HTTP-01 验证域名时,返回了 404 错误。
这通常是因为防火墙或者域名解析到的IP和服务器IP不一致,为了检查是否是第二个原因,就需要运行dig your.domain.com
(或nslookup your.domain.com
),这个命令可以检查你的域名解析出来的IP地址是什么,像我的就是因为套了一层cloudflare的CDN,导致域名解析出来的IP和服务器IP对不上,从而返回了 404 错误。
Hysteria运行端口
Hysteria是能够设置端口的,为了防止又和NGINX冲突,所以我更改了默认的端口,并且防火墙放行该端口,具体配置可以看Hysteria的官方文档。
Hysteria客户端启动闪退
当我启动客户端时,终端是跳出来然后就消失了,日志信息也只是显示以Client Mode运行,查了资料才发现是Hysteria的默认的端口可能被占用了,修改该端口后,就能够成功运行了。
导入Clash.Meta时注意Hysteria版本
如果不想使用Hysteria的客户端,也可以写一个配置文件直接导入支持Clash.Meta内核的客户端,不过,Hysteria和Hysteria 2 的配置文件的配置是不一样的!万分注意不要选择错了配置文件,否则就会像我一样一直都不能连接上服务器( ̄_ ̄|||)
结尾
总的来说,Hysteria的部署相较于ss更加简便,我依稀记得为了防止节点挂掉用上了v2ray-plugin,还配置了CDN,一系列繁琐的步骤让当时的我有点摸不着头脑。
Hysteria实测下来速度确实快(●'◡'●)。