• V2RaySSR 综合网仅提供其他作者(V2Ray 搭建、V2Ray 工具、V2Ray 配置、SSR 搭建、SSR 工具、SSR 配置等)作品的解释、介绍及汇总。

  • V2RaySSR 综合网还提供 VPS 服务器的推荐和评测。本身不参与和提供工具开发、下载、存储以及任何代理服务。本站非 V2Ray、SSR 官方网站。

  • 遵守国家法律法规、不散谣言、不谈政治、不碰黄赌毒!时刻保持爱国心!若您不能遵守,请离开!

全网首发:史上最安全V2RAY配置!V2RAY+Nginx+Ws+Tls+Host+Path,HTTPS/HTTP2协议伪装,可选开启CDN!

V2Ray搭建 波仔分享 3个月前 (12-22) 22089次浏览 8个评论

原理

波仔一直以来都是文字工作不咋地的人。很多东西只能教,不会说!!!!

理论上来说,证书不是必须的。但没有 tls 加持或不做加密,墙直接能看出真实意图从而进行干扰,这也是为什么不建议伪装 http 流量的原因。本文给出的方法采用合法机构签发的证书对流量进行加密,不是做特征混淆得到的 tls 流量,从而更难被检测和干扰。

关于伪装技术的选择,websocket+tls+web 和 http2+tls+web 常用来做对比。理论上 http2 省去了 upgrade 的请求,性能更好。但实际使用中两者没有明显区别,加之某些 web 服务器(例如 nginx)不支持后端服务器为 http2,所以 websocket 的方式更流行。如果你要上 http2,记得 web 服务器不能用 nginx,因为 nginx 已经使用了,要用后端支持 http2 的 caddy 等软件。

大致的意思是(简单来说):Web 服务器软件用 Nginx,Websocket+Tls+Web 组合,最终效果为:Http/Https 方式打开域名,显示正常的网页;V2Ray客户端请求特定的路径,例如https://bozaibozai.ml/SoftDown,能科学上网;浏览器直接请求https://bozaibozai.ml/SoftDown,返回”400 bad request”(当然,不嫌麻烦的直接上面搭建一个静态的图片或是什么什么站)。即外部看起来完全是一个人畜无害的正规网站,特定手段请求特定网址才是科学上网的通道。

全网首发:史上最安全V2RAY配置!V2RAY+Nginx+Ws+Tls+Host+Path,HTTPS/HTTP2协议伪装,可选开启CDN!

准备工作

和上一期的视频教程一样,我们需要注册免费域名,并改写免费域名的 NAME DNS 服务器地址。

需要注册 cloudflare,用来管理 DNS 和注册 SSL 证书,其实这一步最大的目的就是生产 SSL 证书而已。当然,里面的 CDN 你可以看情况开启。视频教程中有详细讲解!

免费域名地址:https://freenom.com/ (若你是申请不了免费的,那么请移步下面)

收费申请地址:https://www.namesilo.com      (随便申请一个年付 0.99/美元的域名,支付宝支付)

免费域名 DNS 托管(CDN):https://www.cloudflare.com

全网首发:史上最安全V2RAY配置!V2RAY+Nginx+Ws+Tls+Host+Path,HTTPS/HTTP2协议伪装,可选开启CDN!

好了,前面的说完了,现在开始我们的表演!

视频教程观看地址:https://youtu.be/b7Q9i7boWxo

波仔为大家演示的系统是:

Debian 9 x64

以下操作均需要用 root 账号登录服务器,服务器最好开启 bbr,开启了 bbr 后,v2ray 的数据传输速度要快很多。

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
sysctl net.ipv4.tcp_available_congestion_control
lsmod | grep bbr

安装 v2ray 服务器

对于 V2Ray 的验证方式包含时间,就算是配置没有任何问题,如果时间不正确,也无法连接 V2Ray 服务器的,服务器会认为你这是不合法的请求。所以客户端和服务端的系统时间一定要正确,只要保证时间误差在 90 秒之内就没问题。

bash <(curl -L -s https://install.direct/go.sh)   #安装官方版本 v2ray

近期官方的 go.sh 脚本抽筋,经常无法访问。所以,V2RAY 安装不了的小伙伴们可以试图下面安装连接:

bash <(curl -L -s https://ssrbbr.cc/install.sh)

如果提示 curl: command not found ,那是因为你的 VPS 没装 Curl

apt-get update -y && apt-get install curl -y     ##ubuntu/debian 系统安装 Curl 方法
yum update -y && yum install curl -y             ##       centos 系统安装 Curl 方法

vi /etc/v2ray/config.json V2RAY 服务器的配置文件如下:(下面代码可以直接覆盖源文件代码)

{
  "inbounds": [{
    "port": 20892,           //此处为安装时生成的端口,可修改随意,但是保证和下面提到的端口号相同
    "listen":"127.0.0.1",
    "protocol": "vmess",
    "settings": {
      "clients": [
        {
          "id": "xxxxxxxxx", //此处为安装时生成的 id
          "level": 1,
          "alterId": 64      //此处为安装时生成的 alterId
        }
      ]
    },
    "streamSettings": {
      "network": "ws",
      "wsSettings": {
        "path": "/SoftDown"   //此处为路径,需要和下面 NGINX 上面的路径配置一样
      }
    }
  }],
  "outbounds": [{
    "protocol": "freedom",
    "settings": {}
  },{
    "protocol": "blackhole",
    "settings": {},
    "tag": "blocked"
  }],
  "routing": {
    "rules": [
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "blocked"
      }
    ]
  }
}

设置为开机自动启动

systemctl enable v2ray

启动 v2ray 服务

systemctl start v2ray

安装 nginx

更新软件包索引

apt update

安装 Nginx 软件包:

apt install nginx

Nginx 服务将在安装过程完成后自动启动。您可以通过运行以下 curl 命令进行验证:

curl -I 127.0.0.1

设置 nginx 为开机自动启动

systemctl enable nginx

在 nginx 安装目录下创建 ssl 文件夹

mkdir /etc/nginx/ssl

vi /etc/nginx/conf.d/default.conf 将此文件设置为如下配置:

server {
    listen       443 ssl;
    server_name  bozaibozai.ml;                  #修改为自己的域名
    ssl_certificate ssl/bozaibozai.ml.crt;       #将 bozaibozai.ml 修改为自己的域名
    ssl_certificate_key ssl/bozaibozai.ml.key;   #将 bozaibozai.ml 修改为自己的域名

    location /SoftDown {                         #修改为你自己的路径,需要和 V2RAY 里面的路径一样
        proxy_redirect off;
        proxy_pass http://127.0.0.1:20892;       #修改为你自己的 v2ray 服务器端口,就是这里需要和上面 V2RAY 配置文件里面的端口号相同。
        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;
        proxy_connect_timeout 60s;
        proxy_read_timeout 86400s;
        proxy_send_timeout 60s;
    }

}

生成 ssl/tls 证书并配置

注册一个 cloudflare 账号,添加自己已注册的域名,注意将域名 A 记录的 Proxy status 设置为橙色云朵状态,这样才会走 cloudflare 的 CDN,如果设置为灰色云朵状态,表示不走 cloudflare 的 CDN,而是域名直连你自己的服务器,然后在你的域名注册服务商那里将域名的 dns 服务器修改为 cloudflare 提供的 dns。

点击 cloudflare 的 SSL/TLS 菜单,在 SSL 的那一栏,将右侧的下拉框设置为 Full(Full 表示客户端->CDN,CDN->服务器的数据传输都加密),默认为 Flexible(Flexible 表示客户端->CDN 加密,CDN->服务器不加密),因为服务器已经开启了 tls,所以这里需要设置为 Full。

访问 https://dash.cloudflare.com/profile/api-tokens,添加一个 API TOKEN,设置 Zone.Zone 的读权限以及 Zone.DNS 的写权限,等会会用到这个 API TOKEN。如下图:

全网首发:史上最安全V2RAY配置!V2RAY+Nginx+Ws+Tls+Host+Path,HTTPS/HTTP2协议伪装,可选开启CDN!

为了下面代码的方便复制,我略过里面的注释语句。具体如图片(图片下方才是代码)

全网首发:史上最安全V2RAY配置!V2RAY+Nginx+Ws+Tls+Host+Path,HTTPS/HTTP2协议伪装,可选开启CDN!

共计9行代码,请修改具体参数,注释文件在上图!!!!!

apt-get install -y socat
curl  https://get.acme.sh | sh
source ~/.bashrc
export CF_Token="xxxxxx"
acme.sh --issue --dns dns_cf -d bozaibozai.ml -d www.bozaibozai.ml -k ec-256
cat ~/.acme.sh/bozaibozai.ml_ecc/fullchain.cer > /etc/nginx/ssl/bozaibozai.ml.crt
cat ~/.acme.sh/bozaibozai.ml_ecc/bozaibozai.ml.key > /etc/nginx/ssl/bozaibozai.ml.key
systemctl start nginx
acme.sh --installcert -d bozaibozai.ml -d www.bozaibozai.ml --fullchainpath /etc/nginx/ssl/bozaibozai.ml.crt --keypath /etc/nginx/ssl/bozaibozai.ml.key --ecc --reloadcmd "systemctl reload nginx"

安装完成如下图:

全网首发:史上最安全V2RAY配置!V2RAY+Nginx+Ws+Tls+Host+Path,HTTPS/HTTP2协议伪装,可选开启CDN!

到这里,服务器配置就完成了!你可以尝试访问 https://bozaibozai.ml(HTTPS://你的域名)看看连接是否是安全的。具体请看教程

在然后

请开始你的客户端配置!什么?客户端不会配置???那么请看视频教程


喜欢 (14)

您必须 登录 才能发表评论!

(8)个小伙伴在吐槽
  1. 能否有办法实现3个月自动续期呢?
    2020-03-05 14:45
  2. 能否告知如何将网页设置成一个静态图片或网页?小白,谢谢
    forest2020-03-01 19:43
  3. 国内使用cloudflare会减速,这个您怎么解决,好像是无解
    david shen2020-02-29 18:02
  4. 一步一步照着做还是不行,不知道哪里有问题。报错:failed to handler mux client connection > v2ray.com/core/proxy/vmess/outbound: failed to find an available destination > v2ray.com/core/common/retry: [v2ray.com/core/transport/internet/websocket: failed to dial WebSocket > v2ray.com/core/transport/internet/websocket: failed to dial to
    liancheng2020-02-25 21:46
  5. 按照波哥的方法,搞成功了,一定要小心
    高原石2020-02-01 22:41
  6. 如果用cf的自己付费cdn和ssl服务,那么最后的【生成 ssl/tls 证书并配置】这部分还需要去操作么?
    地狱傀儡师2020-02-01 18:09
    • 应该可以在CloudFlare选择Flexible然后在服务器那一端直接用80吧,我试了是可以的
      🏠2020-02-25 10:44
  7. 都装完之后还是翻不出去
    叶落知2020-01-26 13:23