V2Ray 进阶配置 WebSocket+TLS+Nginx

对于搬瓦工VPS上的站点突然访问不了,ping不通,SSH连接不上,该怎么办?申请更换新的IP,这难道就不会被封吗?思前想后,决定还是换一种方式上网。参考了大量的博文,找到了一种比较稳妥的方案,就是利用v2ray搭建一个科学上网的环境。

前期准备

1、可以先看看v2ray官网,了解基本的操作
2、购买一台服务器,这个可以根据你个人需要购买合适价位的服务器
3、购买一个便宜的域名,将域名添加A记录解析到你的服务器

前期工作准备完成了,接下来就以xshell为例连接服务器,进行后续的操作:

安装V2Ray

这里使用的是centos7系统
首先更新下系统:

1
yum -y update

安装V2Ray:

1
bash <(curl -L -s https://install.direct/go.sh)

设置开启启动:

1
systemctl enable v2ray

安装SSL证书

安装EPEL:

1
yum -y install epel-release

安装certbot用于签发SSL证书:

1
yum -y install certbot

申请SSL证书:

1
certbot certonly --standalone -d example.com

这里的 example.com 替换成你的域名
如果申请成功,证书和私钥路径如下:

1
2
/etc/letsencrypt/live/example.com/fullchain.pem
/etc/letsencrypt/live/example.com/privkey.pem

配置Nginx

添加一个Nginx安装源:

1
vi /etc/yum.repos.d/nginx.repo

按 i 开启编辑模式,写入:

1
2
3
4
5
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

写入完按ESC,然后输入:wq,按回车保存退出
安装Nginx:

1
yum -y install nginx

设置开机启动:

1
systemctl enable nginx

新建一个Nginx站点配置文件:

1
vi /etc/nginx/conf.d/v2ray.conf

写入:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
server {
listen 443 ssl;
server_name example.com;

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
error_page 497 https://$host$request_uri;

location /ray {
proxy_pass http://127.0.0.1:10000;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
}
}

其中443是网站端口同时也是V2Ray传输端口,127.0.0.1:10000其中的10000是监听端口,可以自行更改,然后防火墙放行所需端口,或者直接关闭防火墙

配置V2Ray服务端

备份一下v2ray的默认配置文件:

1
cp /etc/v2ray/config.json /etc/v2ray/config.jsonbak

清空配置文件的内容:

1
echo "" > /etc/v2ray/config.json

编辑配置文件:

1
vi /etc/v2ray/config.json

写入:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{
"inbounds": [
{
"port": 10000,
"listen":"127.0.0.1",
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "你的UUID",
"alterId": 64
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/ray"
}
}
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {}
}
]
}

UUID可以用这个网站生成:https://www.uuidgenerator.net
全部完成之后,关闭系统防火墙或者自行更改配置:

1
systemctl stop firewalld.service

同时把SELinux也关了:

1
2
3
vi /etc/selinux/config
SELINUX=disabled
setenforce 0

启动v2ray和nginx:

1
2
systemctl start v2ray
systemctl start nginx

检查是否运行正常:

1
2
systemctl status v2ray
systemctl status nginx

两个都显示为绿色的 active(running) 则说明运行成功
到此,服务端的配置完成

配置V2Ray客户端

下载V2RayN客户端
安装完成后打开软件
点击:服务器→添加[VMess]服务器
v2rayN

填上你设置的对应数据,如服务器ip、端口、UUID(服务端和客户端必须一致),加密方式一般为 aes-128-gcm ,协议为ws,
伪装域名留空,路径为 /ray,开启tls和不安全传输,设置完保存
右键V2RayN的系统栏小图标,点击 启用Http代理 ,Http代理模式选择第二个 PAC模式
最后再打开V2RayN软件面板,在检查更新里选择 更新PAC
到此,V2Ray就全部配置完成了

本文摘录:https://www.ecsoe.com/archives/38.html
如有错误或遗漏,欢迎各码友留言。。。