准备
注册VPS服务器,推荐Vultr,Digitalocean、Bandwagon速度不错、稳定且性价比高,按小时计费,也可以选择便宜的VirMach。
注册域名,推荐GoDaddy、freenom 等。
部署Nginx或Caddy,推荐LNMP一键安装包或到Caddy官网下载并选择需要的插件一起安装。
使用CDN实现TLS,推荐免费的CloudFlare,需要域名能在Cloudflare正常使用。
安装V2Ray
使用官方的一键安装脚本:
1
|
bash <(curl -L -s https://install.direct/go.sh)
|
安装之后,正常情况下v2ray可以自动启动。
服务器配置
将TLS的配置写入Nginx/Caddy配置中,由这些软件来监听443端口(443比较常用,并非443不可),然后将流量转发到V2Ray的WebSocket所监听的内网端口(本例是10086),V2Ray服务器端不需要配置TLS。
服务器V2Ray配置
编辑配置文件/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
35
|
{
"log":{
"loglevel":"warning",
"access":"/var/log/v2ray/access.log",
"error":"/var/log/v2ray/error.log"
},
"inbounds":[
{
"port":10086,
"listen":"127.0.0.1", //只监听127.0.0.1,避免除本机外的机器探测到端口
"protocol":"vmess", //使用vmess协议
"settings":{
"clients":[
{
"id":"a60e9a42-c943-4181-87e7-b630bde3b902",
"alterId":64
}
]
},
"streamSettings":{
"network":"ws", //使用websocket协议作为传输协议
"wsSettings":{
"path":"/ws" //WebSocket所使用的HTTP协议路径
}
}
}
],
"outbounds":[
{
"protocol":"freedom",
"settings":{
}
}
]
}
|
Nginx配置
编辑配置文件/usr/local/nginx/conf/nginx.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
server
{
listen 443 ssl http2;
server_name domain.com; # 注册的域名
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/domain.com;
ssl on;
ssl_certificate /etc/domain.com.pem; # 申请的证书路径
ssl_certificate_key /etc/domain.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_session_cache builtin:1000 shared:SSL:10m;
location /ws # 与V2Ray配置中的path保持一致
{
proxy_redirect off;
proxy_pass http://127.0.0.1:l0086; # 监听的地址端口
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
}
|
Caddy配置
编辑配置文件/usr/local/caddy/Caddyfile
1
2
3
4
5
6
7
8
9
10
11
|
https://domain.com, https://www.domain.com {
root /root/www
gzip
timeouts none
tls /etc/domain.com.pem /etc/domain.com.key # 申请的证书路径
proxy / https://www.debian.org/ # 反代的地址
proxy /ws localhost:10086 {
websocket
header_upstream -Origin
}
}
|
客户端配置
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
|
{
"inbounds":[
{
"port":1080,
"listen":"127.0.0.1",
"protocol":"socks",
"sniffing":{
"enabled":true,
"destOverride":[
"http",
"tls"
]
},
"settings":{
"auth":"noauth",
"udp":false
}
}
],
"outbounds":[
{
"protocol":"vmess",
"settings":{
"vnext":[
{
"address":"domain.com",
"port":443,
"users":[
{
"id":"a60e9a42-c943-4181-87e7-b630bde3b902",
"alterId":64
}
]
}
]
},
"streamSettings":{
"network":"ws",
"security":"tls",
"wsSettings":{
"path":"/ws"
}
}
}
]
}
|
CDN设置
1、确保域名已经可以在CloudFlare正常使用。
2、在CloudFlare的Overview选项卡可以查看域名状态,确保为激活状态,即Status: Active。
3、在DNS选项卡添加A记录的域名解析,假设域名是domain.com,那么在配置里Name写 domain.com,Value里写VPS的IP地址,务必把云朵点灰,然后选择Add Record来添加解析记录,(如果已经添加域名解析,请务必把云朵点灰,即DNS only)。
4、当搭建好V2Ray并配置好Nginx或者Caddy后,设置Crypto和开启CDN中转。设置CloudFlare的Crypto选项卡的SSL为Full,并且确保SSL选项有显示Universal SSL Status Active Certificate这样的字眼,如果没有显示,只是在申请证书中,24小时内可以通过。点击Origin Certificates选项右面的Create Certificates按钮,可以免费使用CloudFlare提供的TLS证书。
5、在DNS选项卡中把刚才点灰的那个云朵图标再次点亮它,使云朵图标务必为橙色状态,即DNS and HTTP proxy(CDN)。