之前有介绍过 caddy 的反代,这里写一下更通用的 Nginx 反代 V2Ray,这套方法与正常的建站流程没有多大区别,兼容性和可玩性更高。配合 Cloudflare 自选 ip ,甚至可以做到永久免疫高墙。

1.安装 V2Ray

先使用官方脚本安装,以后升级只需重复执行此命令。

1
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)

编辑修改 v2 的服务端配置。id 改成随机的,可以用 V2RayN 客户端生成或者在线工具生成,不建议直接搬运下面的,id 相当于密码。path 是网站目录,设置一个常见的数据传输路径,例如 /api。

1
nano /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
{
"log": {
"access": "/var/log/v2ray/access.log",
"error": "/var/log/v2ray/error.log",
"loglevel": "warning"
},
"inbounds": [
{
"port": 12345,
"listen":"127.0.0.1",
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "6768f908-d39f-424f-b3e7-c1b6b10fdf72",
"alterId": 64
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/api"
}
}
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {}
}
]
}

重启 v2

1
service v2ray restart

最好也顺手查看下状态,有没有报错

1
service v2ray status

2.添加 Nginx 主机

这里适用于任何 Nginx 相关面板,例如 LNMP 、宝塔等。首先新建一个网站,然后修改网站的 Nginx 配置文件。宝塔面板有独立的反代设置项,可以单独修改。LNMP 需要从整站的配置文件中修改,LNMP 配置示例如下:

1
nano /usr/local/nginx/conf/vhost/example.com.conf

添加这一段反代配置,注意目录和端口与 v2ray 的配置保持一致。如果网站启用了 HTTPS ,这段配置应放在 ssl 的配置下面。

1
2
3
4
5
6
7
8
location /api {
proxy_pass http://127.0.0.1:12345;
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;
}

然后重载 nginx

1
lnmp nginx reload

3.客户端设置

示例配置

地址:网站的域名
端口:网站开启了 HTTPS 就填443,不配置 https 就用默认的 80
用户ID:和服务端保持一致
额外ID:1
加密方式:auto
别名:写个自己喜欢的
底层传输协议:ws
伪装类型:none
伪装域名:直连域名或者域名配置了 CDN 的情况下可以不填,如果要使用中转线路,如AGA中转,这里要加上源站域名,即 example.com
路径:/api
底层传输安全:tls 跳过证书验证:false


4.网站首页

最后,网站首页你可以放置任意页面,或者 lnmp 和 宝塔 的默认首页也行,只要网站程序没有用到 /api 目录就不会发生冲突。

评论