V2ray+ws+tls+cdn搭建服务器 | 您所在的位置:网站首页 › v2ray一键 › V2ray+ws+tls+cdn搭建服务器 |
V2ray+ws+tls+cdn搭建服务器
环境 系统:CentOS7 WEB Server:Nginx 域名:namecheap(付费域名)/Freenom(免费域名,申请SSL证书须注意不能使用acme) CND:Cloudflare 购买服务器Bandwagonhost购买VPS服务器并记录公网IP、SSH端口号及用户名密码。 购买域名Namecheap.com官网购买域名,购买后配置域名指定到VPS的公网IP(这里不配置的话,Cloudflare无法添加站点)。 Cloudflare配置添加域名站点进入Cloudflare官网,点击添加站点,输入申请的二级域名,Cloudflare会自动读取域名指向的公网IP并在CF上配置好A Record,这里一定要关掉Proxy,让小云朵变成灰色,不然待会TLS证书会申请失败。 点击继续,按照要求把原本的域名DNS Server改为Cloudflare的DNS Server。 12elsa.ns.cloudflare.comjavier.ns.cloudflare.com去域名供应商官网,更改DNS NAMESERVERS为Cloudflare的。 配置完成后去Cloudflare点击完成,检查名称服务器,这里需要等待十几分钟。 whois下载链接:http://nirsoft.net/utils/whoiscl.zip 下载解压后,把WhoisCL.exe改名为 whois.exe 并复制到 C:\Windows\System32\目录下即可。 whois 域名,查看申请的域名。 未配置Cloudflare前,whois所有的信息。 使用cloudflare后,Name Server会变成Cloudflare的。 安装Nginx准备工具1yum install yum-utils 添加源1234# 进入到yum源目录cd /etc/yum.repos.d/# 编辑nginx的yum源vi nginx.repo添加源信息 123456789101112131415161718[nginx-stable]#软件仓库的名称name=nginx stable repo#源的镜像服务器地址baseurl=http://nginx.org/packages/centos/$releasever/$basearch/#是否启用此源 1:启用 0:禁用enabled=1#是否gpg验证 1:是 0:否gpgcheck=0#gpg验证keygpgkey=https://nginx.org/keys/nginx_signing.key[nginx-mainline]name=nginx mainline repobaseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/enabled=0gpgcheck=1gpgkey=https://nginx.org/keys/nginx_signing.key Nginx常用命令1234567891011121314151617#查看源是否添加成功yum search nginx#安装nginxyum install nginx -y #安装完后,查看rpm -qa | grep nginx #启动nginxsystemctl start nginx #加入开机启动systemctl enable nginx #查看nginx的状态systemctl status nginx 测试启动成功后浏览器输入IP:80即可访问nigix lsof -i:80可查看80端口被那个进程占用。 安装TLS证书1234567# 安装必备软件包yum install socat# 安装acme.shcurl https://get.acme.sh | shsource ~/.bashrc #执行后无反应# 停止nginxsystemctl stop nginx 生成证书acme使用ZeroSSL的CA证书。 12# 用邮箱注册zerossl账号acme.sh --register-account -m [email protected] --server zerossl获取CloudFlare API Key,获取Global API Key。 123# 设置Cloudflare的API Keyexport CF_Key="ccxxxxxxxxxxxxxxxxxxxb"export CF_Email="[email protected]"生成证书 1acme.sh --server zerossl --issue -d YOURDOMAIN.COM --dns dns_cf证书生成成功 安装证书, 默认生成的证书都放在安装目录下: ~/.acme.sh/, 不要直接使用此目录下的文件, 正确的使用方法是使用 –installcert 命令,并指定目标位置, 然后证书文件会被copy到相应的位置。 12#安装证书sudo ~/.acme.sh/acme.sh --installcert -d MYDOMAIN --fullchainpath /etc/crt/autumn.crt --keypath /etc/crt/autumn.key 配置CF加密模式申请配置好之后,因为用CF做代理,所以要把SSL/TLS加密模式设为完全模式,端到端加密,使用服务器上的自签名证书。 遇到的问题生成证书时,如果出现如下问题,原因是zerossl不再支持免费域名更换,需要更换为付费域名。 生成证书时如果遇到下面这个问题,需要去/root/.acme.sh下面把生成指定的证书删除干净。 V2ray安装V2ray1234yum -y install wgetwget --no-check-certificate -O v2ray.sh https://git.io/v2ray.shchmod +x v2ray.sh ./v2ray.sh 2>&1 | tee v2ray.log选择ws+tls 脚本会自动安装以下文件: /usr/bin/v2ray/v2ray:V2Ray 程序; /usr/bin/v2ray/v2ctl:V2Ray 工具; /etc/v2ray/config.json:配置文件; /usr/bin/v2ray/geoip.dat:IP 数据文件 /usr/bin/v2ray/geosite.dat:域名数据文件 修改V2ray配置1vi /etc/v2ray/config.json内容如下 12345678910111213141516171819202122232425262728293031323334{ "log": { "access": "/var/log/v2ray/access.log", "error": "/var/log/v2ray/error.log", "loglevel": "warning" }, "inbounds": [ { "port": 10000, #端口和nginx代理的端口一致 "listen":"127.0.0.1", #只监听 127.0.0.1,避免除本机外的机器探测到端口,如果要所有机器检测到可以写0.0.0.0 "protocol": "vmess", "settings": { "clients": [ { "id": "b831381d-6324-4d53-ad4f-8cda48b30811", #uuid "alterId": 64 #和客户端保持一致 } ] }, "streamSettings": { "network": "ws", "wsSettings": { "path": "/video/" #注意:和Nginx中配置一致,两个斜杠不能省略 } } } ], "outbounds": [ { "protocol": "freedom", "settings": {} } ]} v2ray常用命令12345678910111213141516v2ray info //查看 V2Ray 配置信息v2ray config //修改 V2Ray 配置v2ray link //生成 V2Ray 配置文件链接v2ray infolink //生成 V2Ray 配置信息链接v2ray qr //生成 V2Ray 配置二维码链接v2ray ss //修改 Shadowsocks 配置v2ray ssinfo //查看 Shadowsocks 配置信息v2ray ssqr //生成 Shadowsocks 配置二维码链接v2ray status //查看 V2Ray 运行状态v2ray start //启动 V2Rayv2ray stop //停止 V2Rayv2ray restart //重启 V2Rayv2ray log //查看 V2Ray 运行日志v2ray update //更新 V2Rayv2ray update.sh //更新 V2Ray 管理脚本v2ray uninstall //卸载 V2Ray Nginx配置TLS和V2ray为Nginx配置tls证书和V2ray代理。 1vi /etc/nginx/nginx.conf内容如下: 123456789101112131415161718192021222324252627#pid 需要mkdir /usr/local/nginx/logs -p 否则不能开机自启#pid /usr/local/nginx/logs/nginx.pid; #yum安装的不需要http { server { listen 443 ssl; #如果systemctl status nginx.service报错nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead,需要删除ssl on ssl on; ssl_certificate /etc/crt/autumn.crt; #这里根据安装的证书路径填写,非fullchain路径 ssl_certificate_key /etc/crt/autumn.key; #这里根据安装的证书路径填写 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; server_name DOMAIN; #域名 location /video/ { #与V2Ray服务端 配置中的 path 保持一致 proxy_redirect off; proxy_pass http://127.0.0.1:10000; #这个端口和服务端保持一致 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; # Show realip in v2ray access.log proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }} 然后启动nginx即可,如果IP被Ban了记得把Cloudflare的Proxy打开。 123#启动nginxsystemctl start nginxv2ray url配置完后先检查配置文件有无问题. 12345678#检查配置文件,出现nginx: invalid option: "/etc/nginx/nginx.conf"问题依然可以启动nginxnginx -t /etc/nginx/nginx.conf#查看端口调用情况lsof -i:443 #使用指定的配置文件而不是conf目录下的nginx.conf# nginx -c 日志查看1234567891011121314151617181920#查找服务的日志lsof -p 进程ID|grep log#查看nginx的error日志#104: Connection reset by peer连接重置是正常情况tail -f /var/log/nginx/error.log #查看nginx的access日志#代理成功后连接时会带有101状态码(Switching Protocols,切换协议)#成功示例: "GET /video/ HTTP/1.1" 101 0 "-" "Go-http-client/1.1"tail -f /var/log/nginx/access.log #查看v2ray的access日志#代理成功后,nginx会把请求转发给v2ray#成功示例: tcp:61.YOUR.IP.ADDRRESS:30862 accepted tcp:www.baidu.com:443tail -f /var/log/v2ray/access.log #查看v2ray的error日志#v2ray.com/core/app/proxyman/inbound: connection ends连接关闭时正常情况tail -f /var/log/v2ray/error.log VPN VPN V2ray本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处! DNF私服 上一篇 搭建Trojan服务器 下一篇 |
CopyRight 2018-2019 实验室设备网 版权所有 |