version: '3.8'
services:
v2ray:
image: weizhanjun/v2ray:5.4.1
# privileged: true
# network_mode: host
restart: always
environment:
- TZ=Asia/Shanghai
- v2ray.vmess.aead.forced=false
volumes:
- ./data/v2ray:/etc/v2ray
ports:
- "18880:18880"
command: "run -c /etc/v2ray/config.json"
nginx:
image: nginx:latest
ports:
- "18881:18881/tcp"
- "18881:18881/udp"
volumes:
- ./data/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ./data/nginx/conf:/etc/nginx/conf.d
- ./data/nginx/cert:/etc/nginx/cert
restart: always
depends_on:
- v2ray
cat data/v2ray/config.json
{
"log": {
"loglevel": "warning"
},
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"ip": [
"geoip:private"
],
"outboundTag": "block"
}
]
},
"inbounds": [
{
"port": 18881,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "899778c2-a000-455f-38a7-e890e7ee5495",
"alterId": 0
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/",
"headers": {
"Host": "proxy.mitee.cn"
}
}
}
}
],
"outbounds": [
{
"protocol": "freedom",
"tag": "direct"
},
{
"protocol": "blackhole",
"tag": "block"
}
]
}
vi data/nginx/conf/v2ray.conf
upstream vmess_servers {
server v2ray:18881;
}
server{
listen 18881 ssl;
listen [::]:18881 ssl;
server_name proxy.mitee.cn;
ssl_certificate /etc/nginx/cert/proxy.mitee.cn.pem;
ssl_certificate_key /etc/nginx/cert/proxy.mitee.cn.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;
# chunked_transfer_encoding on;
# client_max_body_size 0;
# index index.php index.html index.htm default.php default.htm default.html;
location / { # 与 V2Ray 配置中的 path 保持一致
if ($http_upgrade != "websocket") { # WebSocket协商失败时返回404
return 404;
}
proxy_redirect off;
proxy_pass http://vmess_servers;
proxy_intercept_errors on;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
# Show real IP in v2ray access.log
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# client_max_body_size 0;
proxy_connect_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 6 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
Content type
Image
Digest
sha256:0d1c953f0…
Size
15.7 MB
Last updated
over 2 years ago
docker pull weizhanjun/v2ray:5.4.1