关于一转多的服务器配置新的
首先感觉开发者的功劳,很棒的项目,实现了很多功能,测试了1天多的时间打通了关键节点,这里总结下遇到的问题和解决的方法 整体项目是一转多,根据原始文档描述走一遍会遇到几个坑
- 文档上标注服务器访问域名IP为同一个,但是实际上填入到网页管理会提示已存在,无法填入重复的域名或IP,
1. 解决如下,在同一个服务器上启动多个子域名, 1.1 现在DNS上设置少子域名指向 1.2Nginx上配置多子域名conf 1.3 申请子域名tls 1.4 nginx 启动
a.xxx.com的nginx conf文件如下:
server { listen 443 ssl http2; server_name a.xxx.com; root /opt/jar/web; ssl_certificate /etc/nginx/ssl_cert/a.xxx.com/a.xxx.com.cer; ssl_certificate_key /etc/nginx/ssl_cert/a.xxx.com/a.xxx.com.key; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers TLS13-AES-128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
location /api {
proxy_pass http://127.0.0.1:9091/;
}
location /ws/ {
proxy_redirect off;
proxy_pass http://127.0.0.1:8081;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_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 a.xxx.com; return 301 https:///$http_host$request_uri; }
b.xxx.com的nginx conf文件如下:
server { listen 443 ssl http2; server_name b.xxx.com; root /opt/jar/web; ssl_certificate /etc/nginx/ssl_cert/b.xxx.com/b.xxx.com.cer; ssl_certificate_key /etc/nginx/ssl_cert/b.xxx.com/b.xxx.com.key; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers TLS13-AES-128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
location /api {
proxy_pass http://127.0.0.1:9091/;
}
location /ws/ {
proxy_redirect off;
proxy_pass http://127.0.0.1:8081;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_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 b.xxx.com; return 301 https:///$http_host$request_uri; }
2 分别准备对应的V2ray服务器, 2.1 安装v2ray 2.2 下载v2ray的专用配置文件 2.3 修改v2ray的配置文件
配置如下: { "api": { "services": [ "HandlerService", "LoggerService", "StatsService" ], "tag": "api" }, "inboundDetour": [ { "port": 62789, "protocol": "dokodemo-door", "settings": { "address": "127.0.0.1" }, "tag": "api" } ], "log": { "loglevel": "info" }, "inbounds": [ { "port": 6002, #每个V2RAY服务器需要Port不一样 "protocol": "vmess", "settings": { "clients": [], "disableInsecureEncryption": false }, "sniffing": { "destOverride": [ "http", "tls" ], "enabled": true }, "streamSettings": { "network": "ws", "security": "none", "wsSettings": { "headers": {}, "path": "/ws/" } }, "tag": "6002" #每个V2RAY服务器需要tag不一样 } ], "outbounds": [ { "protocol": "freedom", "settings": {} }, { "protocol": "blackhole", "settings": {}, "tag": "blocked" } ], "policy": { "system": { "statsInboundDownlink": true, "statsInboundUplink": true } }, "routing": { "rules": [ { "inboundTag": [ "api" ], "outboundTag": "api", "type": "field" }, { "ip": [ "geoip:private" ], "outboundTag": "blocked", "type": "field" }, { "outboundTag": "blocked", "protocol": [ "bittorrent" ], "type": "field" } ] }, "stats": {} }
3 管理端增加服务器配置填入对应的参数即可
我也是通过子域名解决的,不过我没有改tag也没问题,不知道那是干嘛的,好像是v2的端口
欢迎指正