v2Ray配置VMess + WebSocket + TLS搭建科学上网工具
v2Ray服务端配置VMess + WebSocket + TLS可以实现隐蔽的科学上网,本文将从头到尾一站式介绍搭建上网工具的方法。
你需要:
- 一台自己的VPS
- 能够解析到自己VPS的域名
- VPS部署Nginx服务
- 域名启用https的SSL安全证书
若满足以上条件,可以直接跳转到步骤:安装和配置V2Ray服务端
注册VPS服务器
考虑到稳定性、价格、支付方式等原因,从几大国外VPS服务商里选择了“搬瓦工”Bandwagon。
购买VPS套餐
国内镜像官网:搬瓦工(BandwagonHost)首页进行注册
填写完个人信息之后提交,就可以选择不同的方案了。
这里我选择的是49.9刀的低配方案:传送门
进入订单页面后,点击下方”Add to Cart”加入购物车,并进行结算。
优惠码可以搜索获取,常年有6%以上的折扣。
支付方式可以选择AliPay,确认后使用支付宝进行扫码支付。
查看VPS信息
点击网站上方菜单”Client Area”->”Services”->”My Services”查看自己的服务
点击结果右侧的”KiwiVM Control Panel”进入控制面板
左侧菜单选择”Main Controls”,可以看到服务器详细信息,如IP地址和SSH端口号。
左侧菜单选择”Install new OS”,重新安装ubuntu20.04(16.04以上即可)。
安装成功后,页面会提示新的root密码,是一串随机字符。如果忘记了也没关系,可以在左侧菜单选择”Root password modification”进行重置。
SSH连接服务器
可以使用上一步获得的ip和端口信息、root密码通过SSH连接VPS
1 | ssh root@your.ip -p yourport |
购买并解析域名
NameSilo是一家比较低廉的域名商,且具有免费终身的WHOIS隐私保护,支持支付宝微信交易。
注册和购买域名
首页注册账户,搜索自己想要的可用域名。点击域名右侧的”Add”加入购物车,点击”chekout”进行支付。
点击”continue”进行支付,付款可以选择支付宝或微信扫码。
解析域名到VPS
网站首页点击”my account”,”Account Overview”部分点击”Account Domains” 子项。
点击需要配置的域名对应的小地球,进行DNS配置。
进入后会默认有4-5条配置,可以把CNAME和A记录全部删除。然后新增两条www和不加前缀的A记录,地址填写VPS服务器的ip地址。
配置保存后大概半小时左右生效。
部署Nginx和SSL证书
下载安装nginx
1 | sudo apt install -y nginx |
安装后,浏览器访问VPS的ip,可以看到nginx的信息,说明安装成功。
如果域名绑定好了,访问域名也可以看到。
安装certbot
1 | apt install snapd |
安装和配置V2Ray服务端
执行官方安装脚本
1 | bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh) |
v2ray命令
1 | systemctl start v2ray |
配置v2ray
编辑 /etc/v2ray/config.json,修改为以下内容
1 | { |
注意:port
,id
,path
要改成自己的配置;level
可以为0或1;alterId
可以为大于10的两位数
配置Nginx
编辑文件/etc/nginx/conf.d/v2ray.conf
,修改为以下内容:
1 | server{ |
注意:server_name
,root
,需要与实际域名和nginx实际根目录对应;ssl_certificate
、 ssl_certificate_key
改为实际SSL证书路径;proxy_pass
这里的端口号需要跟v2ray配置文件config.json端口对应.
开启服务
执行以下命令重启v2ray、nginx服务
1 | systemctl restart v2ray |
浏览器正常访问http、https就是自己的主页,浏览器访问https:xxx/pathhui会返回bad request
有的vps端口默认不开放,可能导致连接不成功
1 | ## 查看已开放端口 |
有时候服务器时间和当前时间有误差,可能导致连接失败。需要调整服务器时间
1 | ntpdate pool.ntp.org |
安装和配置V2Ray客户端
MAC客户端配置
MAC客户端使用v2rayx,V2RayX是一个集成V2Ray内核的图形化界面。
下载后解压到应用程序目录,运行后可在桌面上方状态栏看到客户端的V字图标。
点击图标,弹出菜单。点击configure进入设置:
点击左下角+号,添加新的服务器。右侧设置和服务器端保持一致,其他设置和图中保持一致。tag填写服务器设置的标签名称。
由于采用了伪装协议,需要点击”transport settings”进行传输层设置。
websocket标签页需填写伪装路径path和hostname,内容与服务端设置一致。
tls标签页勾选”use tls”,同时勾选”tls allow insecureciphers”和”tls allowinscure”两项,在”tls servername”中填入主机名。
填写后保存。点击菜单栏”load core”开启服务。
注意:主界面一般选择PAC Mode
,全局模式所有的访问连接都需要经过代理服务器。PAC模式(Proxy auto-config),只有在PAC列表中的域名才会经过代理连接。
安卓客户端配置
客户端使用v2rayNG。
下载后安装apk到安卓设备,点击右上+号添加配置文件。这里选择手动输入【Vmess】。
按照与MAC客户端相同的参数填写配置内容,完成后保存。
点击右下角v字小图标开启服务,点击下方按钮测试连接是否成功。