v2ray+nginx TLS WebSocket 配置教程

目录

1. 简介

v2ray 是一个功能强大的代理软件,支持多种协议和传输方式。nginx 是一款功能强大的 Web 服务器,可以提供 TLS 加密和 WebSocket 支持。将 v2ray 和 nginx 结合使用,可以实现安全可靠的代理服务。

本文将详细介绍如何使用 v2ray 和 nginx 搭建一个支持 TLS 加密和 WebSocket 协议的代理服务。

2. 环境准备

在开始之前,请确保您的服务器满足以下要求:

  • 操作系统: CentOS 7/8 或 Ubuntu 18.04/20.04
  • 公网 IP 地址
  • 域名(可选,用于 TLS 证书申请)

3. 安装 v2ray

3.1 添加 v2ray 源

bash curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh | sudo bash

3.2 安装 v2ray

bash sudo v2ray install

4. 配置 v2ray

4.1 生成配置文件

bash sudo v2ray config

4.2 编辑配置文件

bash sudo nano /etc/v2ray/config.json

在配置文件中,找到 outbounds 部分,并添加以下内容:

{ “outbounds”: [ { “protocol”: “vmess”, “settings”: { “vnext”: [ { “address”: “your_domain.com”, “port”: 443, “users”: [ { “id”: “your_uuid”, “alterId”: 64, “security”: “auto” } ] } ] }, “streamSettings”: { “network”: “ws”, “wsSettings”: { “path”: “/your_path” }, “security”: “tls”, “tlsSettings”: { “serverName”: “your_domain.com” } } } ]}

请将以下内容替换为您自己的信息:

  • your_domain.com: 您的域名
  • your_uuid: 您的 UUID
  • your_path: WebSocket 路径

5. 安装 nginx

5.1 添加 nginx 源

bash sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

5.2 安装 nginx

bash sudo yum install -y nginx

6. 配置 nginx

6.1 编辑 nginx 配置文件

bash sudo nano /etc/nginx/conf.d/default.conf

在配置文件中添加以下内容:

nginx server { listen 80; listen 443 ssl; server_name your_domain.com;

ssl_certificate /path/to/your/ssl/certificate;
ssl_certificate_key /path/to/your/ssl/certificate/key;

location / {
    proxy_redirect off;
    proxy_pass http://127.0.0.1:8080;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $http_host;
    
    # 如果您使用了自定义的 WebSocket 路径,请修改以下行
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}}

请将以下内容替换为您自己的信息:

  • your_domain.com: 您的域名
  • /path/to/your/ssl/certificate: 您的 SSL 证书文件路径
  • /path/to/your/ssl/certificate/key: 您的 SSL 证书密钥文件路径

7. 证书申请

您可以使用 Let’s Encrypt 免费申请 SSL 证书。请按照以下步骤操作:

  1. 安装 certbot bash sudo yum install -y epel-release sudo yum install -y certbot

  2. 申请证书 bash sudo certbot certonly –standalone -d your_domain.com

  3. 证书文件位于 /etc/letsencrypt/live/your_domain.com/ 目录下。

8. 启动服务

8.1 启动 v2ray

bash sudo systemctl start v2ray

8.2 启动 nginx

bash sudo systemctl start nginx

9. 客户端配置

您可以使用任何支持 VMess 协议的客户端进行连接,例如 V2RayNG、Clash 等。

在客户端配置文件中,请填写以下信息:

  • 服务器地址: your_domain.com
  • 端口: 443
  • ID: your_uuid
  • 加密方式: auto
  • 传输协议: WebSocket
  • WebSocket 路径: /your_path
  • TLS: 开启

10. 常见问题 FAQ

10.1 为什么我无法连接?

请检查以下几点:

  • 服务器防火墙是否已开放 80 和 443 端口
  • Nginx 配置文件是否正确
  • v2ray 配置文件是否正确
  • 证书是否正确安装

10.2 如何查看 v2ray 和 nginx 的日志?

  • v2ray 日志: sudo journalctl -u v2ray
  • nginx 日志: sudo journalctl -u nginx

10.3 如何更新 v2ray 和 nginx?

  • 更新 v2ray: sudo v2ray update
  • 更新 nginx: sudo yum update nginx

10.4 如何开机自启?

  • v2ray: sudo systemctl enable v2ray
  • nginx: sudo systemctl enable nginx
正文完