V2Ray之TLS+WebSocket+Nginx+CDN翻墙方法
如果你的VPS IP 被墙了,或者你直接连接VPS的速度不理想,可以试试本文介绍的方法。
本文以Cloudflare CDN为例配置,据传,如果你不是使用 移动宽带 的用户,那么使用 Cloudflare 中转的速度相对来说是比较慢的,这个是因为线路的问题,无解。如果你使用移动网络的话,那么 Cloudflare 的中转节点可能会在香港,速度也许会不错 (不完全保证)。
体验了本文介绍的方法,如果速度不理想,可以考虑用国内的CDN替换Cloudflare,据说能体验飞一般的速度,正好 V2Ray 已经支持 HTTP/2 了,又拍云、七牛、阿里都不错,腾讯的 h2 还在内测,百度不清楚。据传国内CDN中转法速度提升非常大,也非常稳定,高峰期毫无压力,在重点 IP 段也无所畏惧。
会用 Cloudflare,其它的 CDN 应该也许也不会有问题。但有一点,如果是为了复活被墙IP,则只能用Cloudflare等国外的CDN。
本文以自建V2ray服务器简明教程 为基础,V2ray基本安装配置请参照此简明教程。
本文介绍的方法不太复杂,但对小白来说也不是很容易,如果你懒得折腾,那就用我们提供的免费翻墙软件吧:
安卓手机翻墙、Chrome一键翻墙包、火狐firefox一键翻墙包、XX-Net禁闻版
或者也可以购买现成的搬瓦工翻墙服务(跟本库无关哦,为支持我们,可考虑年付):
本文目录
注册一个域名
如果已经注册有域名了可以跳过。 TLS 需要一个域名,域名有免费的和有付费的,如果你不舍得为一个域名每年花点钱,用个免费域名也可以,但总体来说付费的会优于免费的,我看到有网友因为用了免费域名,结果出现域名解析故障而翻墙失败。所以,还是推荐买个便宜点的域名。关于域名注册商,推荐namesilo ,这家域名商有不少便宜的域名选择,比如.xyz域名,一年才0.99美元,很便宜,而且可选择免费域名隐私保护。为了方便,在本文中我就忽略如何注册购买域名了。关于如何获取域名,具体可搜索相关文章教程。
注册好域名之后务必记得添加一个 A 记录指向你的 VPS!
另外,为了避免主域名被封锁,推荐先使用子域名,但本文以主域名为例!
以下假设注册的域名为 mydomain.me,请将之替换成自己的域名。
域名添加到Cloudflare
确保在Cloudflare DNS 设置处启用CDN,就是Proxy Status 那一列,那个金黄金黄的云彩图标要点亮,A记录指向你的VPS IP地址。
另外,在 Cloudflare 的 SSL/TLS 设置中启用 Flexible 模式,并关掉 TLS 1.3 。
大概这样就可以了。等待一会儿,ping 域名试试看,如果ping 出的ip变成了 Cloudflare ip,那么我们已经成功给我们的域名套上了Cloudflare CDN。
证书生成
我们采用最简略的配置,VPS端无需自己生成证书,直接使用Cloudflare CDN 自动生成的证书。所以这一步你需要做的就是 do nothing. 这样配置不但超简易,而且配合Cloudflare SSL/TLS 的 Flexible 模式,比Full模式速度更快。
VPS 安装配置Nginx
apt=get updateapt-get -y install nginx
然后替换/etc/nginx.conf为如下配置,此配置文件是通用配置,不管什么域名都可以使用,直接下载覆盖即可:
wget https://raw.githubusercontent.com/bannedbook/fanqiang/master/v2ss/server-cfg/nginx.conf -O -> /etc/nginx/nginx.conf
下面是nginx.conf的内容,为方便大家,制作了这个nginx通用配置文件并上传到github,大家可以直接使用上面的命令下载覆盖即可。
user www-data;worker_processes auto;pid /run/nginx.pid;include /etc/nginx/modules-enabled/*.conf;worker_rlimit_nofile 655350;events { use epoll; worker_connections 65536;}http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE ssl_prefer_server_ciphers on; access_log /var/log/nginx-access.log; error_log /var/log/nginx-error.log; gzip on; server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri $uri/ =404; } location /bannedbook { # 与 V2Ray 配置中的 path 保持一致 proxy_redirect off; proxy_pass http://127.0.0.1:10000; #假设WebSocket监听在环回地址的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配置: nginx -t
重新载入配置: nginx -s reload
配置 V2Ray
服务器配置
V2Ray{ "log": { "loglevel": "warning", "access": "/dev/null", "error": "/dev/null" }, "inbounds": [{ "listen":"127.0.0.1", "port": 10000, "protocol": "vmess", "settings": { "clients": [ { "id": "de20d937-ca8f-af14-ea07-20b45447d371", "level": 1, "alterId": 64 } ] }, "streamSettings": { "network": "ws", "wsSettings": { "path": "/bannedbook" } } }], "outbounds": [ { "protocol": "freedom", "settings": {}, "tag": "allowed" }, { "protocol": "blackhole", "settings": {}, "tag": "blocked" } ], "routing": { "rules": [ { "type": "field", "ip": [ "geoip:private" ], "outboundTag": "blocked" } ] }}
修改配置后记得测试配置:/usr/bin/v2ray/v2ray -test -config /etc/v2ray/config.json
重启v2ray: service v2ray restart
相关教程
- 自建V2ray服务器简明教程
- 自建V2Ray+TLS翻墙配置方法
- V2Ray之TLS+WebSocket翻墙方法
- Brook之TLS+WebSocket+CDN翻墙教程
- Brook之TLS+WebSocket+Web服务器翻墙教程
- Brook之TLS+WebSocket翻墙教程
- 自建Shadowsocks服务器简明教程
- SSH连接VPS教程
- V2ray官方一键安装脚本
- Windows版V2ray客户端安装配置指南.md
- 使用FileZilla和VPS传输文件教程
- 最简单的Google BBR 一键加速VPS教程
- 翻墙VPS推荐:搬瓦工VPS购买教程
- 购买Vultr VPS图文教程.md
V2Ray客户端配置
{ "inbounds": [ { "port": 1080, "listen": "127.0.0.1", "protocol": "socks", "sniffing": { "enabled": true, "destOverride": ["http", "tls"] }, "settings": { "auth": "noauth", "udp": false } } ], "outbounds": [ { "protocol": "vmess", "settings": { "vnext": [ { "address": "mydomain.me", "port": 443, "users": [ { "id": "de20d937-ca8f-af14-ea07-20b45447d371", "alterId": 64 } ] } ] }, "streamSettings": { "network": "ws", "security": "tls", "wsSettings": { "path": "/bannedbook" } } } ]}
网站
V2ray伪装这一步不是必须,只是为了隐藏和伪装的更好。说是伪装,其实我们安装了nginx web服务器,也就是已经安装了一个真正的网站,试试用浏览器打开你的域名,会看到nginx的默认首页。为了隐藏和伪装的更逼真,你可以考虑弄一些英文网页放到vps 的/var/www/html目录下,当然,必须包括一个index.html , 这样会使你的网站看起来更象一个真实的网站。
真实网站+加装v2ray
更往前想一步,如果你已经有一个真正的网站,而网站域名没有被墙,那么完全可以利用本文介绍的方法,在原有的真实网站基础上,开辟一个path,加装V2ray用来翻墙。这就是完全以真实网站为掩护来翻墙了。
安卓翻墙-禁闻浏览器、Windows翻墙:ChromeGo
AD:搬瓦工官方翻墙服务Just My Socks,不怕被墙