lala.im:V2Ray+WebSocket+TLS+Nginx

VPN代理·lala.im · 2018-12-29 · 140 人浏览

原文地址:https://lala.im/4647.html,請支持原作者!該處僅作轉載。

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

yum -y update

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

bash <(curl -L -s https://install.direct/go.sh)

设置开启启动:

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\n2.https://github.com/2dust/v2rayN
下载解压,把2复制到1内,接着打开这个v2rayN,点击服务器-添加VMess服务器,然后按照下图进行填写:

範例
注:
图中的这个UUID(用户ID)要和你之前服务端配置的UUID一致(不要用这个界面上面的生成功能去生成),另外伪装域名这块我建议留空,因为我这边不知道为什么配置了这个伪装后连接非常不稳定,去掉后就正常了。
这是搬瓦工的CN2GIA,未安装BBR的油管测速,还行吧,比SSR的速度慢一些:

範例
参考文献:
https://www.v2ray.com/chapter_02/transport/websocket.html

VPN代理 Nginx lala.im
Theme Jasmine by Kent Liao