vps的IP被封解决办法!BT宝塔面板+V2Ray+WebSocket(ws)+TLS+Nginx+Cloudflare
1、准备工作:
1.1、一台全新安装Centos 7的VPS。
1.2、一个拥有所有权的域名。
1.3、注册Cloudflare账号。
中间省略一些简单的步骤……
4、安装和配置v2ray:
4.1、先安装 curl,命令如下:
yum install -y curl
我测试的时候已经安装过了,所以提示Nothing to do
4.2、安装unzip
yum install -y unzip
我测试的时候已经安装过了,所以提示Nothing to do
4.3、安装v2ray,官方脚本fhs_install-v2ray;如果输入命令并回车之后卡住的,再按一次回车就行了。
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh) --version v4.45.2
4.4、编辑v2ray的配置文件,先下载这个config.json模版,vi 编辑config.json,把里面的两个{}删掉,然后复制我给的模版,按下面提到的参数修改一下即可。
模版文件下载地址:https://files.eveaz.com/ ,模版参数略有变化,以模版为准。
vi /usr/local/etc/v2ray/config.json
需要修改的参数位置如下:
"Host": "v2fly.eveaz.com"
##将v2fly.eveaz.com改成自己的域名;必须改!!!
下面4个位置可根据自身需要修改:(不了解就不要改)
"path": "/ws/", ##这里是路径,配合Nginx转发;
"port": 10010, ##这里是需要Nginx转发的端口;
"alterId": 0, ##这里是额外ID,不能改!要是改了,在2022年01月01日就用不了了。
"id": "00b93379-2d11-4392-a600-52f1d7ea0148", ##这里是UUID。
4.4.1、不会 vi 编辑的在宝塔面板-文件根目录/usr/local/etc/v2ray 文件夹可以找到config.json,默认的config.json里面就两个大括号,删掉,粘贴我写的v2ray_config.json模版文件进去,然后再修改即可。
4.5、赋予v2ray,service日志写入权限;
chown -R nobody /var/log/v2ray
解释:这是因为v2ray.service为了安全性,使用了用户nobody来读取v2ray服务端程序的config.json配置和写入v2ray相关日志。如果不赋予权限,那么启动v2ray的时候就会报错。报错代码如下:
systemd[1]: v2ray.service: main process exited, code=exited, status=23/n/a
systemd[1]: Unit v2ray.service entered failed state.
systemd[1]: v2ray.service failed.
4.6、设置v2ray开机启动,命令行输入:
systemctl enable v2ray
4.6.1、启动v2ray,命令行输入:
systemctl start v2ray
4.6.2、查看v2ray启动状态,命令行输入:
systemctl status v2ray
4.6.3、如果显示如上图那样,就是v2ray启动成功了。
5、回到宝塔面板网站设置,站点管理 – 配置文件,在最下面一个}之前添加下面规则代码,然后保存。
location /ws { proxy_redirect off; proxy_pass http://127.0.0.1:10010; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; }
5.1、在宝塔面板重启Nginx。
5.2、这个时候火狐浏览器打开网址,你的域名后面加上/ws/,比如我的域名是v2fly.eveaz.com,那么我打开的网址就是 https://v2fly.eveaz.com/ws/ ,网页显示内容为Bad Request。
5.3、基本上到这里就ok了,回到Cloudflare,域名的小黄云点亮,即Proxied;然后等到DNS生效就行了;这个时间不固定,要看你本地用的DNS服务器够不够快了,生效时间1分钟到15分钟不等;简单点来说,你在本地ping一下你的域名,当显示为Cloudflare的IP的时候,就是生效了。
5.4、当DNS生效之后,就可以用客户端进行连接了。如果DNS没生效,客户端会报错 x509证书错误,报错信息如下:
[Warning] [1446008233] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/vmess/outbound: failed to find an available destination > v2ray.com/core/common/retry: [v2ray.com/core/transport/internet/websocket: failed to dial WebSocket > v2ray.com/core/transport/internet/websocket: failed to dial to (wss://v2fly.eveaz.com/ws/): > x509: certificate signed by unknown authority] > v2ray.com/core/common/retry: all retry attempts failed
以上更新补充步骤结束。
6、其它补充:
6.1、每次修改v2ray的config,json,都需要重新启动一下v2ray,v2ray重启命令如下:
systemctl restart v2ray
6.2、如果需要卸载v2ray,请用下面的命令:
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh) --remove
6.3、各种客户端的使用,这里就不再写了,请查看本站关于IP被封整个系列的历史文章吧。
7、客户端报错补充:
7.1、如果v2rayN客户端如下错误,那么只能说明你本地与Cloudflare之间的网络太垃圾了,一般这个报错是断断续续的,也就是时不时报错,这个时候上网还是正常的;如果长期都是报错,那么…我还能说啥呢?只能说明你与Cloudflare分配给你的CDN的IP无缘份呗,开个玩笑,可能是刚好连接的Cloudflare的IP与你本地网络连接不通畅,等一段时间就好了,这个时间可能是几分钟,可能是几个小时,可能是几天。
报错代码如下:
2020/10/31 09:52:58 tcp:127.0.0.1:18212 accepted tcp:github.com:443 [proxy]
2020/10/31 09:52:59 [Warning] [3743557583] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/vmess/outbound: failed to find an available destination > v2ray.com/core/common/retry: [v2ray.com/core/transport/internet/websocket: failed to dial WebSocket > v2ray.com/core/transport/internet/websocket: failed to dial to (wss://v2fly.eveaz.com/ws/): > dial tcp 104.27.140.57:443: operation was canceled v2ray.com/core/transport/internet/websocket: failed to dial WebSocket > v2ray.com/core/transport/internet/websocket: failed to dial to (wss://v2fly.eveaz.com/ws/): > dial tcp: operation was canceled] > v2ray.com/core/common/retry: all retry attempts failed
2020/10/31 09:52:59 tcp:127.0.0.1:18215 accepted tcp:medium.com:443 [proxy]
2020/10/31 09:52:59 tcp:127.0.0.1:18223 accepted tcp:oauthaccountmanager.googleapis.com:443 [proxy]
虎社精品源码库 » vps的IP被封解决办法!BT宝塔面板+V2Ray+WebSocket(ws)+TLS+Nginx+Cloudflare