V2Ray+WebSocket+TLS+Nginx

by LALA

荒岛 / 2018-12-29 02:53

这是v2ray一个稍微高级一点的玩法,折腾党可以试试。开始之前,你要准备一个域名解析到你的VPS。

更新系统:

yum -y update

这里为了简化步骤(偷懒)使用v2ray官方的一键安装脚本,先把v2ray装起来:

bash    

设置开启启动:

systemctl enable v2ray

安装EPEL源,我这里是使用的搬瓦工的CentOS7X64,发现他这个系统模板应该是有点问题,EPEL源不知道怎么回事不能生效,解决办法是先卸载再重新装一遍,先查找:

rpm -qa | grep epel-release

然后卸载:

rpm -e epel-release-7-11.noarch

重新安装EPEL:

yum -y install epel-release

安装certbot用于签发SSL证书:

yum -y install certbot

这里就先把SSL证书申请好:

certbot certonly --standalone -d example.com

如果一切正常,你申请好的证书和私钥路径应该是类似这样子的:

/etc/letsencrypt/live/example.com/fullchain.pem     /etc/letsencrypt/live/example.com/privkey.pem

现在添加一个Nginx安装源:

vi /etc/yum.repos.d/nginx.repo

写入:

[nginx]     name=nginx repo     baseurl=http://nginx.org/packages/centos/7/$basearch/     gpgcheck=0     enabled=1

安装Nginx:

yum -y install nginx

设置开机启动:

systemctl enable nginx

新建一个Nginx站点配置文件:

vi /etc/nginx/conf.d/v2ray.conf

写入:

server {         listen       443 ssl;         server_name  example.com;              ssl_certificate    /etc/letsencrypt/live/example.com/fullchain.pem;         ssl_certificate_key    /etc/letsencrypt/live/example.com/privkey.pem;         ssl_protocols TLSv1 TLSv1.1 TLSv1.2;         ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;         ssl_prefer_server_ciphers on;         ssl_session_cache shared:SSL:10m;         ssl_session_timeout 10m;         error_page 497  https://$host$request_uri;          location /ray {         proxy_pass       http://127.0.0.1:10000;         proxy_redirect             off;         proxy_http_version         1.1;         proxy_set_header Upgrade   $http_upgrade;         proxy_set_header Connection "upgrade";         proxy_set_header Host      $http_host;         }     }

然后我们备份一下v2ray的默认配置文件:

cp /etc/v2ray/config.json /etc/v2ray/config.jsonbak

清空配置文件的内容:

echo "" > /etc/v2ray/config.json

编辑配置文件:

vi /etc/v2ray/config.json

写入如下配置:

{       "inbounds": [         {           "port": 10000,           "listen":"127.0.0.1",           "protocol": "vmess",           "settings": {             "clients": [               {                 "id": "你的UUID",                 "alterId": 64               }             ]           },           "streamSettings": {             "network": "ws",             "wsSettings": {             "path": "/ray"             }           }         }       ],       "outbounds": [         {           "protocol": "freedom",           "settings": {}         }       ]     }

注:

上面的配置内,UUID自行使用这个网站生成一个:https://www.uuidgenerator.net

全部完成之后,把系统防火墙关了:

systemctl stop firewalld.service

同时把SELinux也关了:

vi /etc/selinux/config     SELINUX=disabled     setenforce 0

现在启动v2ray和nginx:

systemctl start v2ray     systemctl start nginx

你应该使用如下命令查看这两个软件目前是否运行正常:

systemctl status v2ray     systemctl status nginx

如果正常则可以看到类似如图回显:

至此,服务端这块我们就配置完成了。接下来是客户端的配置。

首先我们要下载两个软件:

1.https://github.com/v2ray/v2ray-core/releases
2.https://github.com/2dust/v2rayN

下载解压,把2复制到1内,接着打开这个v2rayN,点击服务器-添加VMess服务器,然后按照下图进行填写:

注:

图中的这个UUID(用户ID)要和你之前服务端配置的UUID一致(不要用这个界面上面的生成功能去生成),另外伪装域名这块我建议留空,因为我这边不知道为什么配置了这个伪装后连接非常不稳定,去掉后就正常了。

这是搬瓦工的CN2GIA,未安装BBR的油管测速,还行吧,比SSR的速度慢一些:

参考文献:

https://www.v2ray.com/chapter_02/transport/websocket.html

Shared via Inoreader