目录
前言
v2ray是一款功能强大的网络代理软件,广受好评。借助v2ray可以实现科学上网、翻墙等功能。为了方便部署和管理,v2ray官方提供了Docker镜像,使用起来更加简单高效。本文将详细介绍如何使用v2ray官方docker镜像,配合Websocket+TLS的方式部署v2ray服务。
选择合适的v2ray docker镜像
v2ray官方提供了多个docker镜像供用户选择,常见的有:
v2fly/v2ray
:v2ray官方维护的镜像teddysun/v2ray
:由Teddysun维护的镜像v2rayse/v2ray
:由v2rayse维护的镜像
其中v2fly/v2ray
是最官方的镜像,推荐优先使用。可以通过以下命令拉取最新版本的镜像:
docker pull v2fly/v2ray:latest
编写v2ray配置文件
接下来我们需要编写v2ray的配置文件,以下是一个基本的配置示例:
配置文件结构
{ “log”: { “loglevel”: “warning” }, “inbound”: { “port”: 8080, “protocol”: “vmess”, “settings”: { “clients”: [ { “id”: “your_uuid”, “alterId”: 64 } ] }, “streamSettings”: { “network”: “ws”, “wsSettings”: { “path”: “/your_path” } } }, “outbound”: { “protocol”: “freedom”, “settings”: {} }}
inbound配置
port
: 监听端口,这里设置为8080
protocol
: 入站协议,这里使用vmess
协议settings.clients
: 客户端配置,id
为用户ID(UUID),alterId
为额外IDstreamSettings
: 传输方式配置,这里使用Websocket方式network
: 传输网络协议,这里设置为ws
wsSettings.path
: Websocket的路径,可自行设置
outbound配置
protocol
: 出站协议,这里使用freedom
协议,表示直接连接目标
使用Nginx反向代理
为了增加安全性,我们可以使用Nginx作为反向代理,并开启TLS加密传输。
Nginx配置
以下是一个Nginx配置示例: nginx server { listen 443 ssl; server_name your_domain;
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;
location /your_path {
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;
}}
Nginx证书配置
Nginx需要使用合法的SSL/TLS证书,您可以选择以下方式获取证书:
- 使用Let’s Encrypt免费颁发的证书
- 购买商业SSL证书
- 自行生成自签名证书
证书文件路径分别为/path/to/fullchain.pem
和/path/to/privkey.pem
。
启动v2ray容器
有了配置文件和Nginx反向代理设置后,就可以启动v2ray容器了。以下是一个示例命令:
docker run -d –name v2ray -v /path/to/config.json:/etc/v2ray/config.json -p 443:443 v2fly/v2ray
其中:
-v /path/to/config.json:/etc/v2ray/config.json
: 挂载配置文件-p 443:443
: 映射容器的443端口到宿主机的443端口
启动成功后,v2ray服务就可以通过Nginx的域名进行访问了。
FAQ
如何查看v2ray日志?
可以使用以下命令查看v2ray容器的日志:
docker logs v2ray
如何更新v2ray镜像?
当有新版本v2ray发布时,可以使用以下命令更新镜像:
docker pull v2fly/v2ray:latest docker stop v2ray docker run -d –name v2ray -v /path/to/config.json:/etc/v2ray/config.json -p 443:443 v2fly/v2ray
为什么需要Nginx反向代理?
使用Nginx反向代理可以带来以下好处:
- TLS加密传输,提高安全性
- 可以隐藏v2ray服务的端口号
- Nginx可以提供负载均衡等高级功能
如何生成自签名证书?
如果无法获取Let’s Encrypt或商业SSL证书,可以自行生成自签名证书。可以使用以下命令生成:
openssl req -x509 -newkey rsa:4096 -keyout privkey.pem -out fullchain.pem -days 3650 -nodes
这条命令会生成有效期10年的自签名证书文件privkey.pem
和fullchain.pem
。