v2ray + nginx + vmess + ws + tls 代理服务搭建教程

目录

  1. 前言
  2. v2ray 安装与配置
    1. 安装 v2ray
    2. v2ray 配置文件
  3. Nginx 安装与配置
    1. 安装 Nginx
    2. Nginx 配置文件
  4. WebSocket 和 TLS 配置
    1. WebSocket 配置
    2. TLS 证书配置
  5. 客户端配置
  6. FAQ

前言

v2ray 是一个功能强大的代理工具,支持多种协议和传输方式。结合 nginx 反向代理和 WebSocket 以及 TLS 加密,可以搭建出一个安全高效的网络代理服务。本文将详细介绍如何使用这些技术来搭建一个稳定可靠的代理服务。

v2ray 安装与配置

安装 v2ray

  1. 访问 v2ray 官网了解最新版本信息。

  2. 执行以下命令安装 v2ray:

    bash

    bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)

  3. 安装完成后,配置 v2ray 的工作目录和配置文件。

v2ray 配置文件

  1. 编辑 v2ray 的主配置文件 /etc/v2ray/config.json:

    { “log”: { “access”: “/var/log/v2ray/access.log”, “error”: “/var/log/v2ray/error.log”, “loglevel”: “warning” }, “inbounds”: [ { “port”: 10000, “protocol”: “vmess”, “settings”: { “clients”: [ { “id”: “your_uuid”, “alterId”: 64 } ] }, “streamSettings”: { “network”: “ws”, “wsSettings”: { “path”: “/your_path” } } } ], “outbounds”: [ { “protocol”: “freedom”, “settings”: {} } ] }

    • "port": v2ray 服务监听的端口,这里设置为 10000。
    • "id": 用户 ID,替换为你自己的 UUID。
    • "path": WebSocket 的路径,替换为你自己设置的路径。
  2. 保存配置文件并重启 v2ray 服务:

    bash systemctl restart v2ray

Nginx 安装与配置

安装 Nginx

  1. 安装 Nginx:

    bash

    apt-get update apt-get install nginx

  2. 检查 Nginx 是否安装成功:

    bash nginx -v

Nginx 配置文件

  1. 编辑 Nginx 的主配置文件 /etc/nginx/conf.d/default.conf:

    nginx server { listen 80; listen 443 ssl; 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-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256; ssl_prefer_server_ciphers on;

    location / { proxy_pass http://127.0.0.1:10000; 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_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }

    • "server_name": 替换为你的域名。
    • "ssl_certificate""ssl_certificate_key": 替换为你的 TLS 证书文件路径。
    • "proxy_pass": 转发到 v2ray 服务的监听地址。
  2. 保存配置文件并重启 Nginx 服务:

    bash systemctl restart nginx

WebSocket 和 TLS 配置

WebSocket 配置

在 v2ray 的配置文件中,我们已经设置了 WebSocket 的路径。Nginx 的配置文件也已经包含了相关的转发设置。这样就完成了 WebSocket 的配置。

TLS 证书配置

  1. 申请并获取 TLS 证书:

    • 可以使用 Let’s Encrypt 免费申请证书,也可以购买商业证书。
    • 将证书文件 (fullchain.pemprivkey.pem) 放置在 Nginx 配置文件中指定的路径。
  2. 在 Nginx 配置文件中启用 TLS 加密:

    • "ssl_certificate""ssl_certificate_key": 设置为证书文件的路径。
    • "ssl_protocols""ssl_ciphers": 配置 TLS 协议和加密套件。
  3. 保存配置文件并重启 Nginx 服务:

    bash systemctl restart nginx

客户端配置

根据你使用的客户端软件,按照以下步骤配置连接:

  1. 服务器地址: 你的域名
  2. 端口: 443
  3. 用户 ID: 在 v2ray 配置文件中设置的 UUID
  4. 加密方式: auto
  5. 传输协议: ws
  6. WebSocket 路径: 在 v2ray 配置文件中设置的路径

完成以上配置后,你就可以使用该代理服务了。

FAQ

1. 为什么要使用 WebSocket 和 TLS?

WebSocket 可以复用 HTTP 连接,提高传输效率。TLS 加密可以提高安全性,避免被运营商或网络管理员监测和屏蔽。结合这两种技术可以搭建出一个稳定高效的代理服务。

2. 如何生成 UUID?

你可以使用在线工具或命令行工具生成 UUID。例如:

bash

uuidgen

3. 如何申请 Let’s Encrypt 证书?

Let’s Encrypt 提供了多种申请证书的方式,可以参考他们的官方文档。一般使用 Certbot 工具申请和续期证书最为方便。

4. 如何检查 v2ray 和 Nginx 的运行状态?

可以使用以下命令查看服务的运行状态:

bash

systemctl status v2ray

systemctl status nginx

如果服务没有正常运行,可以查看对应的日志文件进行排查。

正文完