欢迎光临
感受代码之美

centos7基于nginx搭建v2ray服务端配置vmess+tls+websocket完全手册

一直都是使用自建shadowsocks科学上网,服务很稳定,虽然v2ray出现了很久,但是没花心思研究两者之间有什么区别。后来无意间查询自己手机的上网记录,出现下图信息,我感觉还是让上网更隐蔽一点更好。

shadowsocks-tcp.jpg

怎么让手机上网记录看起来更正常一点呢?v2ray服务端配置vmess+tls+websocket就是一种解决方式,下面是我使用这种方式之后手机上网记录信息:

v2ray-ssl上网记录

接下来就是我实现上述情形的解决过程记录。

1.环境准备

相关文章推荐:

请继续下一步之前,先依次完成下列步骤:

  • 注册一个自己的VPS服务器;
  • 注册一个自己的域名并解析到自己的VPS;
  • 登录VPS并安装部署Nginx;
  • 完成域名的https SSL安全证书启用;

只有完成上面的步骤在继续下面操作,才能实现v2ray服务端配置vmess+tls+websocket。

我的环境:

  • 服务器系统:Digitalocean CentOS 7.5 x64 ;
  • v2ray版本:v4.17.0;
  • nginx版本:nginx/1.14.2 (CentOS);
  • 证书:Let’s Encrypt certbot-0.31.0;
  • v2rayN:2.22

2.安装v2ray

安装过程很简单,只要能正常连接自己的VPS并进行登录,然后执行一下安装命令即可,安装过程参考:2020年最新v2ray搭建详细图文教程(从小白到老炮),重要的接下来的配置过程。

3.配置v2ray服务端

假设你的域名是v2ray.com,并将二级域名hi.v2ray.com解析到你的VPS。

执行下面的命令,开始配置v2ray:

[[email protected] ~]# vi /etc/v2ray/config.json 

i键编辑文件,把内容更改为下面的内容:

{
  "log": {
    "access": "/var/log/v2ray/access.log",
    "error": "/var/log/v2ray/error.log",
    "loglevel": "warning"
  },
  "inbounds": [
    {
      "port": 33684,
      "listen": "127.0.0.1",
      "protocol": "vmess",
      "settings": {
        "clients": [
          {
            "id": "0c67ca68-63ad-40c5-898e-9cf1925c8694",
            "level": 1,
            "alterId": 64
          }
        ]
      },
      "streamSettings": {
        "network": "ws",
        "wsSettings": {
          "path": "/v2ray"
        }
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {}
    },
  ]
}

3.配置Nginx

执行下面的命令,开始配置nginx:

[[email protected] ~]# vi /etc/nginx/conf.d/v2ray.conf 

i键编辑文件,把内容更改为下面的内容:

server{
    listen 80;
    server_name hi.v2ray.com;
    root /etc/nginx/html;
    index index.html;

}

server {
    listen 443 ssl http2 default_server;
    server_name hi.v2ray.com;

    ssl_certificate /etc/letsencrypt/live/hi.v2ray.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/hi.v2ray.com/privkey.pem;

    root /etc/nginx/html;
    index index.html;

    location /v2ray {
        proxy_redirect off;
        proxy_pass http://127.0.0.1:33684;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;
    }
}

注意:

  • proxy_pass http://127.0.0.1:33684; 这里的33684需要跟v2ray配置文件config.json端口对应;
  • root /etc/nginx/htmllocation /etc/nginx/html行,需要与nginx实际根目录对应;

4.重启v2ray、nginx服务

systemctl restart v2ray

systemctl restart nginx

5.客户端界面配置

这里我是用v2rayN,配置如下:

v2rayn-config-windows.png

v2rayn-config-windows-1.png

6.常见问题

1)使用v2ray访问谷歌提示异常流量
2)启用cloudflare cdn之后v2ray报403错误

温馨提示

上述文章是ws + tls搭建v2ray的详细步骤,如果想快速、简洁、标准搭建,请参考:在docker-compose环境下以ws+tls方式搭建v2ray(So easy)

未经允许禁止转载:四个空格 » centos7基于nginx搭建v2ray服务端配置vmess+tls+websocket完全手册

评论 20

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    你好,请问v2ray可以配置多用户吗?我想同时给我几个好友用

    VK3601H1年前 (2019-03-14)Reply
    • 可以配置多用户,修改clients数组,增加一个即可。

      michael1年前 (2019-03-19)Reply
      • 请问clients数组中的id,level应该怎么填写呢,id是如何生成的呢

        Bay9个月前 (07-06)Reply
        • id安装的时候自动会生成,也可以到此网页https://www.uuidgenerator.net/重新生成替换一下

          michael9个月前 (07-07)Reply
          • 我的意思是如何增加一个用户给我的朋友使用,也是一样的方法吗,直接加一个client,id就使用从您给的网址生成的新id就可以了吗?

            Bay9个月前 (07-07)
  2. #2

    你好,可以用这个方法让MTProxy隐蔽一点吗?

    Lee11个月前 (05-10)Reply
  3. #3

    怎么查询开头两图的上网记录

    perfect10个月前 (06-12)Reply
    • 联通10010官网就可以查询,登录之后

      michael10个月前 (06-12)Reply
  4. #4

    我想咨询下,被墙的vps已经重装了debian然后安装了 boy的 一键 v2ray脚本,CDN也开通了域名转发ping的通了,但是就是客户端连不起…..我想麻烦你看下是哪里没对

    Peter Su10个月前 (06-13)Reply
    • 要是用的cloudflare的cdn,就不能使用域名伪装,不然连不上,详见:https://www.4spaces.org/v2ray-cloudflare-cdn-403/

      michael10个月前 (06-13)Reply
  5. #5

    您好,我安装好后手机可以用,pc客户端连接后访问网站都是accepted但是所有网站都提示连接终止是什么意思?

    Liu10个月前 (06-15)Reply
  6. #6

    可以同时使用mkcp和websocket吗?

    Grocker7个月前 (09-22)Reply
  7. #7

    kcp+tls被强几率高吗?被墙怕了

    Grocker7个月前 (09-22)Reply
  8. #8

    兄弟,你连nginx的转发端口和v2ray的监听端口都不是配的一样的,然后SELinux关闭的步骤也没说。教程要么就别写,要么就认真点好吗。这是从哪里复制过来的?

    tony5个月前 (11-21)Reply
    • 可能咱们用的vps不一样吧,我是用的digitalocean的VPS,每次都是从这篇文章直接复制就能搭建成功,从来没有需要我SELinux关闭的情况,我的环境上面有说明,我觉得还是有参考价值的,文章都是我一个字一个字码的,出了问题就找解决办法,能搭建成功靠的不是别人,是自己。

      michael5个月前 (11-21)Reply
    • 80端口重定向到443,SELinux不用关没事的

      [email protected]2个月前 (02-06)Reply
  9. #9

    nginx配置文件细节,“proxy_pass http://127.0.0.1:27321;”这里,监听端口应该是v2ray的端口,说明最好再加一点。谢谢兄弟的教程,教程已经足够详细。
    location /etc/nginx/html {
    proxy_redirect off;
    proxy_pass http://127.0.0.1:27321;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection “upgrade”;
    proxy_set_header Host $http_host;
    }

    badGuy2个月前 (02-17)Reply
    • 好的,我会补充上,多谢

      michael2个月前 (02-18)Reply