v2ray官方docker镜像Websocket+TLS部署指南

目录

  1. 前言
  2. 选择合适的v2ray docker镜像
  3. 编写v2ray配置文件
    1. 配置文件结构
    2. inbound配置
    3. outbound配置
  4. 使用Nginx反向代理
    1. Nginx配置
    2. Nginx证书配置
  5. 启动v2ray容器
  6. FAQ
    1. 如何查看v2ray日志?
    2. 如何更新v2ray镜像?
    3. 为什么需要Nginx反向代理?
    4. 如何生成自签名证书?

前言

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为额外ID
  • streamSettings: 传输方式配置,这里使用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.pemfullchain.pem

正文完