一、前言
在我早期的爬墙经历里,我是非常热衷于自己动手造梯子的,并不是说买别人的机场服务不好,而是自己造的梯子稳定性和速度绝对是第一,也极少担心被墙。
来自2021年的更新: 现在自建梯子更推荐应急使用, 主力还是购买机场的服务比较好。
大学在读期间成功申办了一张某银行的 Visa 信用卡,因此褥到了 Google Cloud 的一年半免费试用(第一次申请成功后隔了半年通过 YouTube 上的教程成功重置试用时间,因此总试用时间是一年半)。
眼下,12月份 Google Cloud 的试用就要到期,而最低配机器算上流量费估计每个月也得二三十,对我来说还是蛮昂贵的,因为我除了爬墙就不会用 Google Cloud 的机器做别的事情了。
为了避免12月份之后无梯子可用,今天我尝试了在搬瓦工Centos6下安装并配置V2ray+SSL+TLS+CDN,写下此文作为记录。
二、开始搭建吧
由于我的搬瓦工机器是较早购买的,安装的 CentOS6 系统,并不受 V2ray 官方提供的安装脚本支持,因此在搜索引擎上查找到一份解决方案,记录于此。 (来源:http://bbs.itzmx.com/forum.php?mod=viewthread&tid=89057 )
注意!!此博文更偏向于写给自己看的笔记,因此只描述关键步骤,非关键步骤将会略过
如果某位萌新路人看到了这篇文章,也可以发 email 跟我交流: [email protected]
1、CentOS6 下安装 V2ray
下载&安装官方安装脚本
1 bash <(curl -L -s https://install.direct/go.sh)
会提示以下报错
1 2 3 4 5 6 7 Updating software repo Failed to set locale, defaulting to C Repository epel is listed more than once in the configuration Installing daemon Failed to set locale, defaulting to C Repository epel is listed more than once in the configuration Failed to install daemon. Please install it manually.
解决办法 将下述代码保存为/etc/init.d/v2ray
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 #!/bin/sh DESC=v2ray NAME=v2ray DAEMON=/usr/bin/v2ray/v2ray PIDFILE=/var/run/$NAME .pid LOCKFILE=/var/lock/subsys/$NAME SCRIPTNAME=/etc/init.d/$NAME RETVAL=0 DAEMON_OPTS="-config /etc/v2ray/config.json" [ -x $DAEMON ] || exit 0 [ -r /etc/default/$NAME ] && . /etc/default/$NAME . /etc/rc.d/init.d/functions start () { local pids=$(pgrep -f $DAEMON ) if [ -n "$pids " ]; then echo "$NAME (pid $pids ) is already running" RETVAL=0 return 0 fi echo -n $"Starting $NAME : " mkdir -p /var/log /v2ray $DAEMON $DAEMON_OPTS 1>/dev/null 2>&1 & echo $! > $PIDFILE sleep 2 pgrep -f $DAEMON >/dev/null 2>&1 RETVAL=$? if [ $RETVAL -eq 0 ]; then success; echo touch $LOCKFILE else failure; echo fi return $RETVAL } stop () { local pids=$(pgrep -f $DAEMON ) if [ -z "$pids " ]; then echo "$NAME is not running" RETVAL=0 return 0 fi echo -n $"Stopping $NAME : " killproc -p ${PIDFILE} ${NAME} RETVAL=$? echo [ $RETVAL = 0 ] && rm -f ${LOCKFILE} ${PIDFILE} } reload () { echo -n $"Reloading $NAME : " killproc -p ${PIDFILE} ${NAME} -HUP RETVAL=$? echo } rh_status () { status -p ${PIDFILE} ${DAEMON} } case "$1 " in start) rh_status >/dev/null 2>&1 && exit 0 start ;; stop) stop ;; status) rh_status RETVAL=$? ;; restart) stop start ;; reload) reload ;; *) echo "Usage: $SCRIPTNAME {start|stop|status|reload|restart}" >&2 RETVAL=2 ;; esac exit $RETVAL
赋予执行权限,加入开机启动
1 2 chmod a+x /etc/init.d/v2ray chkconfig v2ray on
验证是否能够启动
1 2 service v2ray start 启动 v2ray: [确定]
停止 V2ray 服务
2、获取 SSL 证书
证书可以使用 Let’s Encrypt 生成,我这里是用的腾讯云的诚信亚洲免费证书,具体流程请询问搜索引擎,这里贴一个申请链接:https://console.cloud.tencent.com/ssl/apply
3、服务器安装 Nginx
具体步骤请询问搜索引擎。
4、配置 V2ray
编辑v2ray配置文件
1 2 cd /etc/v2rayvim config.json
用以下内容替换
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 { "inbounds" : [ { "port": 10000, # 请留意此行 "listen":"127.0.0.1", # 只监听本地,避免被外部扫端口 "protocol": "vmess", "settings": { "clients": [ { "id": "", # uuid随机值,可在uuid.online生成 "alterId": 64 } ] }, "streamSettings": { "network": "ws", "wsSettings": { "path": "/ray" # 请留意此行 } } } ], "outbounds": [ { "protocol" : "freedom" , "settings" : {} } ] }
配置完毕后启动 v2ray 服务
5、配置 Nginx 反向代理
首先要上传SSL证书到服务器,步骤略,腾讯云有相关教程。
然后,在 nginx 配置文件加入如下内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 server { listen 80 ; server_name 你的域名; charset utf8; rewrite ^(.*)$ https://你的域名$1 permanent ; } server { listen 443 ; server_name 你的域名; charset utf8; ssl on ; ssl_certificate /etc/nginx/ssl/1_xxx_bundle.crt; ssl_certificate_key /etc/nginx/ssl/2_xxx.key; ssl_session_timeout 5m ; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 ; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on ; root /var/www/xxx/; index index.html index.htm; error_page 404 403 500 502 503 504 /404 .html; location /ray { 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 ; proxy_set_header X-Real-IP $remote_addr ; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ; } }
配置完毕后重启 nginx 服务
6、在 cdn 上增加 a 记录,指向这台服务器
cdn 建议使用 cloudflare, 此步骤略,请询问搜索引擎
同时还要配置 cdn 启动 https
7、配置 v2ray 客户端
建议使用图形化客户端,windows 下 可以使用 v2rayN, macOS 下使用 v2rayX, 去 github 上找一下都能找到。这里简述一下 v2rayX 里的关键字段怎么填写:(其实我是懒得截图上传图片)
地址:你的域名
端口:443
alterId: 64 (跟你服务端上v2ray配置文件保持一致)
level: 0
Security: 这是加密方式,随便选,都可以
Network: ws
勾选“使用TLS”
完成了!!!可以上网冲浪了!!
如果访问不了的话,检查一下你本机的时间是否与服务器时间差距过大(不能超过90s)