上一篇介绍了v2ray搭建vmess+tcp节点,为避免篇幅过长,将剩余部分在这一篇记录

#配置vmess+tcp(ws)+tls节点

申请SSL/TLS证书

要使用tls协议,首先要配置安全证书,这里介绍两种获取安全证书的方法

  • 使用acme脚本申请

注意 : 申请证书的时候要关闭cf的代理,即小黄云

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 安装acme(不成功则先安装socat再安装acme):
curl https://get.acme.sh | sh

# 安装socat:
apt install socat

# 添加软链接:
ln -s /root/.acme.sh/acme.sh /usr/local/bin/acme.sh

# 切换CA机构:
acme.sh --set-default-ca --server letsencrypt

# 申请证书:
acme.sh --issue -d 替换为你的域名 --standalone -k ec-256

# 安装证书到指定路径:
acme.sh --installcert -d 替换为你的域名 --ecc --key-file /usr/local/etc/v2ray/server.key --fullchain-file /usr/local/etc/v2ray/server.crt

依次执行命令后刷新/usr/local/etc/v2ray/文件夹,能看到server.crt、server.key两个文件即成功申请

  • 使用cf 15年有效期的源服务器证书,分别将证书和私钥改名为server.crt、server.key,上传到vps以下路径/usr/local/etc/v2ray/

更改v2ray配置文件

复制下面代码,覆盖/usr/local/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
30
31
32
33
34
{
"inbounds": [
{
"port": 8388, # 需要与客户端节点配置信息中的节点端口保持一致
"protocol": "vmess", # 需要与客户端节点配置信息中的节点类型保持一致
"settings": {
"clients": [
{
"id": "af41686b-cb85-494a-a554-eeaa1514bca7", # 需要与客户端节点配置信息中的"用户ID"保持一致,可以使用v2rayN客户端生成
"alterId": 0 # 需要与客户端节点配置信息中的"额外ID"保持一致
}
]
},
"streamSettings": {
"network": "tcp",
"security": "tls", # 需要与客户端节点配置信息中的"传输层安全"保持一致
"tlsSettings": {
"certificates": [
{
"certificateFile": "/usr/local/etc/v2ray/server.crt",
"keyFile": "/usr/local/etc/v2ray/server.key"
}
]
}
}
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {}
}
]
}

保存,重启v2ray,确认v2ray状态是否正常运行。若正常,则前往配置代理客户端节点信息
注意 : 配置tls证书后如果v2ray报错无法启动解决办法,删除/etc/systemd/system/v2ray.service 文件里的[service]下的 User=nobody这一行,保存后重启v2ray

配置代理客户端节点信息

配置信息

这里客户端节点配置与上一篇的区别仅仅在于将传输层安全改为tls。确认配置信息无误后保存,测试节点,可以正常连接
若要将传输协议改为ws,只需将服务端v2ray配置信息中的network的值改为ws

ws配置

保存,重启v2ray,确认v2ray状态是否正常运行。若正常,则前往配置代理客户端节点信息,将传输协议改为ws,确认配置信息无误后保存,测试节点,可以正常连接

#nginx添加web伪装

安装nginx

1
2
3
4
5
# 安装nginx:
apt install nginx

# 重新加载nginx配置:
systemctl reload nginx

安装并重新加载nginx,执行systemctl status nginx查看nginx运行状态,如图所示即为正常运行

nginx状态

配置v2ray服务端节点信息

复制下面代码,覆盖/usr/local/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": 8388,
"listen":"127.0.0.1",
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "af41686b-cb85-494a-a554-eeaa1514bca7",
"alterId": 0
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/af41686b-cb85-494a-a554-eeaa1514bca7" # 设置复杂的path,避免被轻易探测;需要与客户端节点配置信息中的"路径"保持一致
}
}
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {}
}
]
}

保存,重启v2ray,确认v2ray状态是否正常运行。若正常,则前往/etc/nginx/修改nginx配置文件nginx.conf

配置nginx配置文件

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
server {
listen 443 ssl;
listen [::]:443 ssl;

server_name vc2.dearjohn17.cf; # 此处改为你的域名
ssl_certificate /usr/local/etc/v2ray/server.crt; # 此处依次改为证书和私钥的存放路径
ssl_certificate_key /usr/local/etc/v2ray/server.key;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m;
ssl_session_tickets off;

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;

location / {
proxy_pass https://bing.com; # 此处填写伪装网址
proxy_ssl_server_name on;
proxy_redirect off;
sub_filter_once off;
sub_filter "bing.com" $server_name; # 此处填写伪装网址
proxy_set_header Host "bing.com"; # 此处填写伪装网址
proxy_set_header Referer $http_referer;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header User-Agent $http_user_agent;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Accept-Encoding "";
proxy_set_header Accept-Language "zh-CN";
}

location /af41686b-cb85-494a-a554-eeaa1514bca7 { # 此处路径应与v2ray服务端配置path的值一致
proxy_redirect off;
proxy_pass http://127.0.0.1:8388; # 此处:后的端口应与v2ray服务端配置port的值一致
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

server {
listen 80;
server_name vc2.dearjohn17.cf; # 此处改为你的域名
rewrite ^(.*)$ https://${server_name}$1 permanent;
}

将以上内容复制,打开/etc/nginx/文件夹中的nginx配置文件nginx.config,替换http{}里的内容,注释部分需要更改为自己实际的设置
保存配置,执行systemctl reload nginx重新加载nginx,查看nginx运行状态,若正常,则前往代理客户端配置节点信息

配置代理客户端节点信息

代理客户端节点配置如图所示,与之前的配置比较,将端口设置更改为443,路径与服务端v2ray配置文件config.json中的path的值一致即可

节点配置

确认配置信息无误后保存,测试节点,可以正常连接;浏览器中打开你的域名,会跳转伪装站点https://bing.com,完!