配置 v2ray TLS
工作模式
证书申请见 Let's Encrypt 申请 SSL 证书
安装证书和密钥
$ ~/.acme.sh/acme.sh --installcert -d mydomain.me --fullchainpath /etc/v2ray/v2ray.crt --keypath /etc/v2ray/v2ray.key --ecc
$ ~/.acme.sh/acme.sh --installcert -d mydomain.me --fullchainpath /etc/v2ray/v2ray.crt --keypath /etc/v2ray/v2ray.key
TLS
修改服务器
"inbounds": [
{
"port": 443, // 建议使用 443 端口
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "23ad6b10-8d1a-40f7-8ad0-e3e35cd38297",
"alterId": 64
}
]
},
"streamSettings": {
"network": "tcp",
"security": "tls", // security 要设置为 tls 才会启用 TLS
"tlsSettings": {
"certificates": [
{
"certificateFile": "/etc/v2ray/v2ray.crt", // 证书文件
"keyFile": "/etc/v2ray/v2ray.key" // 密钥文件
}
]
}
}
}
]
certificateFile
证书文件绝对路径keyFile
密钥文件绝对路径
客户端输入
- 域名
- 端口
- 传输协议:TCP
- 底层传输安全:TLS
Qualys SSL Labs’s SSL Server Test
使用 Qualys SSL Labs’s SSL Server Test 要求使用 443 端口,意味着你服务器配置的
inbound.port
应当是 443
WebSocket + TLS
修改服务端
{
"port": 443,
"protocol": "vmess",
"settings": {
"clients": [{
"id": "自行生成 UUID",
"alterId": 64
}]
},
"streamSettings": {
"network":"ws",
"security": "tls",
"wsSettings":{
"path":"/",
"headers":{}
},
"tlsSettings": {
"certificates": [{
"certificateFile": "公钥文件绝对路径,如:/path/to/xxx.com.crt",
"keyFile": "私钥文件绝对路径,如:/path/to/xxx.com.key"
}]
}
}
}
增加 wsSettings
,修改 network
为 ws
客户端输入
- 域名
- 端口
- 传输协议:ws
- path:/
- 底层传输安全:TLS
HTTP/2 + TLS
服务端
{
"port": 443,
"protocol": "vmess",
"settings": {
"clients": [{
"id": "自行生成 UUID",
"alterId": 64
}]
},
"streamSettings": {
"network":"http",
"security": "tls",
"httpSettings":{
"path": "在这里填写网页路径,以 / 开头,例如 /abcde/xyz"
},
"tlsSettings": {
"certificates": [{
"certificateFile": "公钥文件绝对路径,如:/path/to/xxx.com.crt",
"keyFile": "私钥文件绝对路径,如:/path/to/xxx.com.key"
}]
}
}
}
增加 httpSettings
,修改 network
为 http
客户端输入
- 域名
- 端口
- 传输协议:
h2
- path:
/
- 底层传输安全:TLS
WebSocket + TLS + Web
- 使用
Nginx / Caddy / Apache
是因为VPS
已经有Nginx / Caddy / Apache
可以将V2Ray
稍作隐藏 - 使用
WebSocket
是因为搭配Nginx / Caddy / Apache
只能用WebSocket
- 使用
TLS
是因为可以流量加密,看起来更像HTTPS
一键安装脚本
- V2Ray 一键安装脚本 集成
Caddy
- V2Ray_ws-tls_bash_onekey 集成
Nginx
- LNMP 1.5 安装
Nginx
未使用一键安装脚本,通过
acme.sh
手动配置
修改服务端,删除 TLS
配置
"inbounds": [
{
"port": 10000,
"listen":"127.0.0.1",// 只监听 127.0.0.1,避免除本机外的机器探测到开放了 10000 端口
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "b831381d-6324-4d53-ad4f-8cda48b30811",
"alterId": 64
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/ray"
}
}
}
],
Nginx
配置
server {
listen 443 ssl;
ssl on;
ssl_certificate /etc/v2ray/v2ray.crt;
ssl_certificate_key /etc/v2ray/v2ray.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
server_name mydomain.me;
location /ray { # 与 V2Ray 配置中的 path 保持一致
proxy_redirect off;
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;
# Show realip in v2ray access.log
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
客户端输入
- 域名
- 端口
443
- 传输协议:
ws
- path:
/ray
- 底层传输安全:TLS