V2Ray( v2 + ws + tls ) 部署之“三步走”教程
帖子发表于 :周一 2月 03, 2020 8:15 pm
这几天国际联网线路出现大范围的丢包或干扰,使用 v2 + ws + tls 貌似可以应对这种情况。
1.安装 V2Ray
先使用官方脚本安装,以后升级只需重复执行此命令。
官方脚本默认支持 vmess,下一步需要编辑修改 v2 的服务端配置,让支持 ws 和 tls,post 和 id 改成上面的,也可以自己定义,不建议直接搬运下面的,id 相当于密码,还得用你自己的,下面 path 是目录,这里不设。
用 caddy 申请证书和反代。这里只勾选 hook.service,hook.service 是 caddy 的自启服务,开机实现自启,你需要其它插件就自己另外加,caddy 是 Go 语言的,以后升级、或者另外加插件,也是一样再一次运行命令即可,会自动替换。
如果服务器之前安装过 nginx ,那么需要将其关闭或卸载,因为 nginx 会占用 80 和 443 端口,和 caddy 产生端口冲突。
仍然在 /usr/local/bin 当前目录, ./caddy 初次运行一次,会显示申请证书,没报错就是成功了。
需要查看 caddy 运行状态的命令,其它重启、启动就不用说
3.客户端设置
地址:就是你的域名,端口是 443,ID 是你上面那一串,额外 ID 是 0,传输协议是 ws,其它默认,最下面底层传输安全记得把 tls 选上。完事。
备用图片:
解释说明补充:
path就是path的意思,路径
你要设,就记得把 caddy 配置的也改一下。 proxy /path 127.0.0.1:端口
path 只是模拟访问网站的 http://xxxxx.com/blog 的意思,没有其它功能。
-----------------------
鉴于你想太多,又强行乱解释,且又被人莫名其妙顶了上去,这样绝对会造成误解,原来并不想理,补充回复的。
加目录,是不会有什么功能加成,更别乱想什么分流,并且即便你要加目录,也请使用顺其自然的目录名,比如 /blog目录, /image 目录等等,别是目录名自带关键字的。
这等于你是打算直接使用 hostloc.xyz 来做博客,还是用 blog.hostloc.xyz 做博客,还是 hostloc.xyz/blog 做博客是一样的事情。没有什么功能加成
无论是选择哪种,直接的全新根域名(hostloc.xyz),二级域名(blog.hostloc.xyz),下级目录(hostloc.xyz/blog ),出来的效果都是一样的,打开这个伪装的网站都是提示 Bad request
另外特别说明:
这教程需要在全新小鸡上安装,按着步骤顺序操作一定能成功,这专门在DO开了个小时鸡测试过的。
看了下回复,都是没有看清楚步骤,一定要进入 /usr/local/bin 目录后再去运行 ./caddy
拜托, ./ 这样指定格式,怎么也应该懂是啥情况。
请使用正常域名,请确定域名已经解析正确,ping一下先,不然证书肯定是申请不下来
你已经在用nginx看下面,两个web server 会有冲突,
用nginx当然也可以,改下配置就可以,但nginx不能快速直接申请证书。之所以用caddy就为了简单容易。
------
已经有了域名证书,又是用nginx的话,
第一步不变,第二步新建一个nginx配置为这样 (# 内容修改成你自己的)
From: v2-ws-tls教程就三步
1.安装 V2Ray
先使用官方脚本安装,以后升级只需重复执行此命令。
代码: 全选
新安装完会提示两行,一个端口,一个 uuid,记不记都可以。bash <(curl -L -s https://install.direct/go.sh)
官方脚本默认支持 vmess,下一步需要编辑修改 v2 的服务端配置,让支持 ws 和 tls,post 和 id 改成上面的,也可以自己定义,不建议直接搬运下面的,id 相当于密码,还得用你自己的,下面 path 是目录,这里不设。
代码: 全选
vi /etc/v2ray/config.json
代码: 全选
改过配置,就要重启一下 v2{
"inbounds": [
{
"port": 12345,
"listen":"127.0.0.1",
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "6768f908-d39f-424f-b3e7-c1b6b10fdf72",
"alterId": 64
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/"
}
}
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {}
}
]
}
代码: 全选
最好也顺手查看下状态,有没有报错service v2ray restart
代码: 全选
2.安装caddyservice v2ray status
用 caddy 申请证书和反代。这里只勾选 hook.service,hook.service 是 caddy 的自启服务,开机实现自启,你需要其它插件就自己另外加,caddy 是 Go 语言的,以后升级、或者另外加插件,也是一样再一次运行命令即可,会自动替换。
如果服务器之前安装过 nginx ,那么需要将其关闭或卸载,因为 nginx 会占用 80 和 443 端口,和 caddy 产生端口冲突。
代码: 全选
然后运行:让自启生效。邮箱换你的,Caddyfile 是 caddy 的默认配置文档,本人习惯和 caddy 同一目录 /usr/local/bin,你要调整就要和下面一并调整curl https://getcaddy.com | bash -s personal hook.service
代码: 全选
caddy -service install -agree -email admin@exsk.com -conf /usr/local/bin/Caddyfile
代码: 全选
进入 caddy 安装目录,然后 vi Caddyfile 写配置支持 tlscd /usr/local/bin
代码: 全选
端口要与上面统一,域名用你自己的,二级域名都可以,先做好解析。注意这里是不套 cloudflare 的,你不要开了 cloudflare 的云。exsk.com{
tls admin@exsk.com
proxy / 127.0.0.1:12345 {
websocket
header_upstream -Origin
}
}
仍然在 /usr/local/bin 当前目录, ./caddy 初次运行一次,会显示申请证书,没报错就是成功了。
需要查看 caddy 运行状态的命令,其它重启、启动就不用说
代码: 全选
对应的重启、启动、停止就是 caddy -service restart | start | stopcaddy -service status
3.客户端设置
地址:就是你的域名,端口是 443,ID 是你上面那一串,额外 ID 是 0,传输协议是 ws,其它默认,最下面底层传输安全记得把 tls 选上。完事。
备用图片:
解释说明补充:
path就是path的意思,路径
你要设,就记得把 caddy 配置的也改一下。 proxy /path 127.0.0.1:端口
path 只是模拟访问网站的 http://xxxxx.com/blog 的意思,没有其它功能。
-----------------------
鉴于你想太多,又强行乱解释,且又被人莫名其妙顶了上去,这样绝对会造成误解,原来并不想理,补充回复的。
加目录,是不会有什么功能加成,更别乱想什么分流,并且即便你要加目录,也请使用顺其自然的目录名,比如 /blog目录, /image 目录等等,别是目录名自带关键字的。
这等于你是打算直接使用 hostloc.xyz 来做博客,还是用 blog.hostloc.xyz 做博客,还是 hostloc.xyz/blog 做博客是一样的事情。没有什么功能加成
无论是选择哪种,直接的全新根域名(hostloc.xyz),二级域名(blog.hostloc.xyz),下级目录(hostloc.xyz/blog ),出来的效果都是一样的,打开这个伪装的网站都是提示 Bad request
另外特别说明:
这教程需要在全新小鸡上安装,按着步骤顺序操作一定能成功,这专门在DO开了个小时鸡测试过的。
看了下回复,都是没有看清楚步骤,一定要进入 /usr/local/bin 目录后再去运行 ./caddy
拜托, ./ 这样指定格式,怎么也应该懂是啥情况。
请使用正常域名,请确定域名已经解析正确,ping一下先,不然证书肯定是申请不下来
你已经在用nginx看下面,两个web server 会有冲突,
用nginx当然也可以,改下配置就可以,但nginx不能快速直接申请证书。之所以用caddy就为了简单容易。
------
已经有了域名证书,又是用nginx的话,
第一步不变,第二步新建一个nginx配置为这样 (# 内容修改成你自己的)
代码: 全选
server {
listen 443 ssl;
ssl on;
ssl_certificate /etc/nginx/ssl/domain.crt; # 证书
ssl_certificate_key /etc/nginx/ssl/domain.key; # 证书
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
server_name hostloc.xyz; # 域名
location / { # 目录
proxy_redirect off;
proxy_pass http://127.0.0.1:12345; # 端口
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
# Show real IP in v2ray access.log
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
From: v2-ws-tls教程就三步