v2ray websocket tls nginx 配置教程

目录

  1. 前言
  2. v2ray 安装
  3. nginx 安装与配置 3.1. nginx 安装 3.2. nginx 配置
  4. v2ray 配置 4.1. 服务端配置 4.2. 客户端配置
  5. FAQ

前言

v2ray 是一款功能强大的代理软件,支持多种协议和传输方式。其中 websocket 协议结合 tls 加密,可以很好地隐藏代理流量,避免被运营商或防火墙检测到。而 nginx 作为高性能的反向代理服务器,可以为 v2ray 提供 tls 证书和负载均衡等功能。本文将详细介绍如何使用 v2ray 配合 nginx 实现 websockettls 的科学上网方案。

v2ray 安装

  1. 访问 v2ray 官网下载适合的安装包。

  2. 解压安装包并进入目录,运行以下命令安装 v2ray:

    bash bash install.sh

  3. 安装完成后,v2ray 的配置文件位于 /etc/v2ray/config.json

nginx 安装与配置

nginx 安装

  1. 根据操作系统的不同,选择合适的方式安装 nginx:

    • CentOS/RHEL: yum install nginx
    • Ubuntu/Debian: apt-get install nginx
  2. 安装完成后,nginx 的配置文件位于 /etc/nginx/nginx.conf

nginx 配置

  1. 编辑 /etc/nginx/nginx.conf 文件,在 http 块中添加如下配置:

    nginx server { listen 80; server_name your_domain; return 301 https://$server_name$request_uri; }

    server { listen 443 ssl http2; server_name your_domain;

    ssl_certificate /path/to/fullchain.pem;
    ssl_certificate_key /path/to/privkey.pem;
    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:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA;
    ssl_prefer_server_ciphers on;
    
    location / {
        proxy_pass http://127.0.0.1:10000;
        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;
    }
    

    }

  2. your_domain 替换为你的域名,/path/to/fullchain.pem/path/to/privkey.pem 替换为你的 SSL 证书路径。

  3. 保存并退出,然后重启 nginx 服务:

    bash systemctl restart nginx

v2ray 配置

服务端配置

  1. 编辑 /etc/v2ray/config.json 文件,添加如下配置:

    { “inbounds”: [ { “port”: 10000, “protocol”: “vmess”, “settings”: { “clients”: [ { “id”: “your_uuid”, “alterId”: 64 } ] }, “streamSettings”: { “network”: “ws”, “wsSettings”: { “path”: “/your_path” } } } ], “outbounds”: [ { “protocol”: “freedom”, “settings”: {} } ] }

  2. your_uuid 替换为你的 UUID,/your_path 替换为你设置的 WebSocket 路径。

  3. 保存并退出,然后重启 v2ray 服务:

    bash systemctl restart v2ray

客户端配置

  1. 在客户端软件中添加一个新的 VMess 节点,填写以下信息:

    • 地址: 你的域名
    • 端口: 443
    • 用户ID: 你的 UUID
    • 加密方式: auto
    • 传输协议: websocket
    • 路径: /your_path
    • 底层传输安全: tls
  2. 保存并连接即可。

FAQ

如何申请 SSL 证书?

可以使用免费的 Let’s Encrypt 证书,通过 Certbot 工具自动申请和续期证书。具体步骤可参考 Let’s Encrypt 官方文档

为什么要使用 WebSocket 协议?

WebSocket 协议可以伪装成普通的 HTTPS 流量,避免被防火墙或运营商检测到。这样可以更好地隐藏代理流量,提高科学上网的稳定性。

v2ray 客户端有哪些选择?

v2ray 客户端有多种选择,包括 Windows、macOS、Linux、Android 和 iOS 等平台。常见的客户端软件有 V2RayN、V2RayNG、Qv2ray 等。可根据自己的需求选择合适的客户端。

如何监控和排查 v2ray 问题?

可以使用 v2ray log 命令查看 v2ray 的运行日志,排查连接、传输等问题。如果遇到严重问题,也可以查看 /var/log/nginx/error.log 中 nginx 的错误日志。

正文完