目录
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
: 您的 UUIDyour_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 证书。请按照以下步骤操作:
-
安装 certbot bash sudo yum install -y epel-release sudo yum install -y certbot
-
申请证书 bash sudo certbot certonly –standalone -d your_domain.com
-
证书文件位于
/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