安装 V2Ray Websocket + TLS 模式 排错指引

如果你是第一次搭梯子不成功,请看本篇排错教程。


操作有没有失误?

我的教程如果附有正常安装日志. 请自行与日志对比有哪里不一样. 

欢迎到Telegram群里求助, 记得描述你参考的是哪篇教程, 走到哪一步报错, 并附上你的终端日志或及问题截图.

也许是其它原因?

如果对比正常安装日志无错, 但是就是某一步安装失败, 或者脚本跑完了但节点就是不能用, 请不要盲目的重复执行脚本. 同样的环境和操作只会得到同样的结果.

请执行以下检查项:
(如果某项正常, 一般不用检查子项)

1. 如果跳过最后打开CDN的步骤, 节点能否使用?

(注意, 如果是在IPv6的小鸡上搭建的节点, 在打开CDN之前, 只能通过手机数据流量来进行IPv6访问)

2. 如果换个新域名, 能否成功?

(注意www.mydomain.com和mydomain.com和abc.mydomian.com是三个不同的域名. 所以你在Cloudflare那里, 只要设置一个新前缀就是一个新域名了)

3. 检查 v2ray 状态及最近的日志, 关注状态是否 active (running), 日志里有没有error或warning

service v2ray status 

用service v2ray status检查v2ray运行状态和最近日志

3.1 检查v2ray配置文件config.json格式是否正确

/usr/local/bin/v2ray -config /usr/local/etc/v2ray/config.json -test

不同的脚本, 装出来的文件位置可能不一样, 以你的service v2ray status查询的结果为准. 就是这一行最后加上 ' -test' (注意有个空格)

用 -test 参数检查config.json格式
显示 Configuration OK. 说明配置文件正确。
Configuration OK 表示 config.json 格式正式

3.2 检查是否用户权限问题, 在当前用户下运行v2ray是否功能正常.

/usr/local/bin/v2ray -config /usr/local/etc/v2ray/config.json

4. 检查 caddy 状态及最近的日志, 关注状态是否 active (running), 日志里有没有error或warning

service caddy status 

4.1 检查是否成功得到域名的证书. 有没有.crt .key 文件?

(以下为示例, 蓝色部分请换成你自己的域名)

find / -name "*chacuoganzao.ipv6a.my.id*"

检查域名的 .crt .key 证书文件

4.2 检查80 443端口占用情况

lsof -i:80
lsof -i:443

如果被其它程序占用,需要关闭其它程序。 

4.3 检查caddy的日志

journalctl -f -u caddy.service 

5. 用浏览器访问你的域名, 是否显示伪装站? 如果不是, 显示什么? 

https://chacuoganzao.ipv6a.my.id/
检查伪装站

5.1 检查是否DNS问题. 在VPS里访问域名, 是否得到<html>...</html>的结果?

curl https://chacuoganzao.ipv6a.my.id/
用curl检查https://域名

5.2 '第三方' tcp ping检查DNS是否正确

https://ping.pe/chacuoganzao.ipv6a.my.id

用ping.pe测试IP address或域名

5.3 '第三方' tcp ping检查VPS的80端口 443端口

https://tcp.ping.pe/207.148.79.159:80
https://tcp.ping.pe/207.148.79.159:443
https://tcp6.ping.pe/[2a01:4f8:151:334b:face:452:8586:1]:80
https://tcp6.ping.pe/[2a01:4f8:151:334b:face:452:8586:1]:443
用tcp.ping.pe测试IP地址:端口

如果80端口 443端口不通, 再次确认caddy运行了没有. 如果caddy运行了, 但端口不通, 有可能被防火墙挡了. 确认一下有没有防火墙

which iptables

如果有防火墙, 需要关闭. 

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F

* Vultr一般装了ufw防火墙, 使用

ufw allow 80
ufw allow 443

重启caddy

service caddy restart

还不行的话, 尝试在关闭防火墙后重新执行安装脚本.  

5.4 在你的本地网络环境检测域名解析是否正确

ping 你的域名

在不打开CDN时,你本地网络环境解析域名应该为你的VPS的真实IP地址。

如果不是,可以修改你自己的hosts文件。

在打开CDN时,你本地网络环境解析域名应该为CDN商的服务器地址。

如果不是,可以修改你自己的hosts文件。如,hosts可以设置解析为Cloudflare优选IP。

6. 用浏览器访问 你的域名/path, 是否显示 400 Bad Request? 如果不是, 显示什么?  

https://chacuoganzao.ipv6a.my.id/a4d265a2ec82
用浏览器测试 https://domain/path 应得到400 Bad Request结果

6.1 如果浏览器访问 域名 能显示伪装站, 但是访问 域名/path 没有 400 Bad Request. 

说明caddy转发的数据没有被v2ray接到. 可能是以下原因:

  • caddy配置文件里的分流path和你输入浏览器的不一致.
  • v2ray没跑起来.
  • caddy配置文件里准备转给v2ray的数据走的端口与v2ray配置文件里监听的端口不一致.
caddy配置文件里准备转给v2ray的数据走的端口与v2ray配置文件里监听的端口应一致

欢迎到Telegram群里求助, 并描述你的自测结果.

日志是最好的问题描述

请参考<Xshell自动记录日志>进行设置.
如果你没有文本形式的日志, 请将你的SSH终端(命令行)的显示截图. 可以使用截图工具的滚动截图功能.

用Heroku等环境搭的,没有命令行进行检测怎么办

1. 用'第三方'HTTP检测工具检查 域名/path 应该得到 400 Bad Request

https://www.uptrends.com/tools/uptime

https://www.uptrends.com/tools/uptime 检查 你的域名/你的path

得到 400 Bad Request 就对了! 

https://www.uptrends.com/tools/uptime 显示 400 Bad Request



评论

The Hot3 in Last 30 Days

无服务器 自建短链服务 Url-Shorten-Worker 完整的部署教程

ClouDNS .asia免费域名 托管到CloudFlare开CDN白嫖Websocket WS通道翻墙 / desec.io