v2ray 部署
使用 docker compose
部署 v2ray
,指定好端口映射以及配置目录。
version: "3.5"
services:
v2ray:
image: v2ray/official:latest
container_name: v2ray
restart: always
tty: true
ports:
- "9000:9000"
volumes:
- <your 2ray path>:/etc/v2ray
在 v2ray
的配置目录下创建 config.json
文件,使用 guidgen 生成一个 id
。
{
"inbounds": [
{
"port": 9000,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "<your id>",
"level": 0,
"alterId": 100
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/v2ray"
}
}
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {}
}
],
"log": {
"loglevel": "debug"
}
}
然后启动 docker compose
,运行 v2ray
服务器。
Nginx 部署
之后在另一台服务器上,部署 Nginx
。
Nginx
比较简单,他的配置如下。主要是设置域名以及要转发的 IP 地址,然后就是支持 WebSocket
。
server {
listen 80;
server_name <your domain>;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name <your domain>;
ssl_certificate /etc/nginx/certs/<your pem file>;
ssl_certificate_key /etc/nginx/certs/<your key file>;
ssl_session_timeout 1d;
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;
add_header Strict-Transport-Security "max-age=63072000" always;
ssl_stapling on;
ssl_stapling_verify on;
charset utf-8;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_requests 25600;
keepalive_timeout 65;
proxy_buffering off;
proxy_buffer_size 8k;
location /v2ray {
proxy_pass http://<your v2ray service ip>:9000;
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;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Clash 配置
然后直接使用 Clash
创建配置,并启动即可。
proxies:
- name: "V2Ray-WS"
type: vmess
server: <your domain>
port: 443
uuid: <your v2ray config id>
alterId: 100
cipher: auto
tls: true
network: ws
ws-opts:
path: /v2ray
udp: true
proxy-groups:
- name: "Auto"
type: select
proxies:
- "V2Ray-WS"
- "DIRECT"
rules:
- DOMAIN-SUFFIX,example.com,DIRECT
- GEOIP,CN,DIRECT
- MATCH,Auto
一个小问题
部署的时候,Nginx
服务器转发到 v2ray
服务器时,建议直接使用 IP:PORT
,如果 Nginx
和 v2ray
服务器部署在一起,直接在 docker
内部的网桥之间通信,可能会出现一些问题。