Sign inSign up

weizhanjun/v2ray

By weizhanjun

•Updated over 2 years ago

v2ray服务端容器安装

Image
0

75

weizhanjun/v2ray repository overview

⁠Docker Compose安装

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

⁠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"
      }
    ]
}

⁠Ningx配置TLS、Websocket

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;
    }
}

Tag summary

Content type

Image

Digest

sha256:0d1c953f0…

Size

15.7 MB

Last updated

over 2 years ago

docker pull weizhanjun/v2ray:5.4.1