上一篇介绍了v2ray搭建vmess+tcp节点,为避免篇幅过长,将剩余部分在这一篇记录
#配置vmess+tcp(ws)+tls节点
申请SSL/TLS证书
要使用tls协议,首先要配置安全证书,这里介绍两种获取安全证书的方法
注意 : 申请证书的时候要关闭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
保存,重启v2ray,确认v2ray状态是否正常运行。若正常,则前往配置代理客户端节点信息,将传输协议改为ws,确认配置信息无误后保存,测试节点,可以正常连接
#nginx添加web伪装
安装nginx
1 2 3 4 5
| # 安装nginx: apt install nginx
# 重新加载nginx配置: systemctl reload nginx
|
安装并重新加载nginx,执行systemctl status 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 { proxy_redirect off; proxy_pass http://127.0.0.1:8388; 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
,完!