目录
前言
v2ray 是一款功能强大的代理软件,支持多种协议和传输方式。其中 websocket 协议结合 tls 加密,可以很好地隐藏代理流量,避免被运营商或防火墙检测到。而 nginx 作为高性能的反向代理服务器,可以为 v2ray 提供 tls 证书和负载均衡等功能。本文将详细介绍如何使用 v2ray 配合 nginx 实现 websocket 加 tls 的科学上网方案。
v2ray 安装
-
访问 v2ray 官网下载适合的安装包。
-
解压安装包并进入目录,运行以下命令安装 v2ray:
bash bash install.sh
-
安装完成后,v2ray 的配置文件位于
/etc/v2ray/config.json
。
nginx 安装与配置
nginx 安装
-
根据操作系统的不同,选择合适的方式安装 nginx:
- CentOS/RHEL:
yum install nginx
- Ubuntu/Debian:
apt-get install nginx
- CentOS/RHEL:
-
安装完成后,nginx 的配置文件位于
/etc/nginx/nginx.conf
。
nginx 配置
-
编辑
/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; }
}
-
将
your_domain
替换为你的域名,/path/to/fullchain.pem
和/path/to/privkey.pem
替换为你的 SSL 证书路径。 -
保存并退出,然后重启 nginx 服务:
bash systemctl restart nginx
v2ray 配置
服务端配置
-
编辑
/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”: {} } ] }
-
将
your_uuid
替换为你的 UUID,/your_path
替换为你设置的 WebSocket 路径。 -
保存并退出,然后重启 v2ray 服务:
bash systemctl restart v2ray
客户端配置
-
在客户端软件中添加一个新的 VMess 节点,填写以下信息:
- 地址: 你的域名
- 端口: 443
- 用户ID: 你的 UUID
- 加密方式: auto
- 传输协议: websocket
- 路径: /your_path
- 底层传输安全: tls
-
保存并连接即可。
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 的错误日志。