共计 1996 个字符,预计需要花费 5 分钟才能阅读完成。
1、先装 v2,官方脚本,以后升级也是重复执行就是
bash <(curl -L -s https://install.direct/go.sh)
新安装完会提示两行,一个端口,一个 uuid,记不记都可以;
官方脚本默认支持 vmess,下一步需要编辑修改 v2 的服务端配置,让支持 ws 和 tls,post 和 id 改成上面的,也可以自己,不建议直接搬运下面的,id 相当于密码,还得用你自己的,下面 path 是目录,这里不设
nano /etc/v2ray/config.json
{
"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": {}}
]
}
改过配置,就要重启一下 v2
service v2ray restart
复制代码
最好也顺手查看下状态,有没有报错
service v2ray status
复制代码
2、安装 caddy,用它申请证书和反代。这里只勾选 hook.service,hook.service 是 caddy 的自启服务,开机实现自启,你需要其它插件就自己另外加,caddy 是 Go 语言的,以后升级、或者另外加插件,也是一样再一次运行命令即可。会自动替换。
curl https://getcaddy.com | bash -s personal hook.service
复制代码
然后运行:让自启生效。邮箱换你的,Caddyfile 是 caddy 的默认配置文档,本人习惯和 caddy 同一目录 /usr/local/bin,你要调整就要和下面一并调整
caddy -service install -agree -email [email protected] -conf /usr/local/bin/Caddyfile
复制代码
cd /usr/local/bin 进入 caddy 安装目录,然后 nano Caddyfile 写配置支持 tls
hostloc.xyz {
tls [email protected]
proxy / 127.0.0.1:12345 {
websocket
header_upstream -Origin
}
}
端口要与上面统一,域名用你自己的,二级域名都可以,先做好解析,注意这里是不套 CF 的,你不要开了 CF 的云
仍然在 /usr/local/bin 当前目录,./caddy 初次运行一次,会显示申请证书,没报错就是成功了。
需要查看 caddy 运行状态的命令,其它重启、启动就不用说
caddy -service status
复制代码
对应的重启、启动、停止就是 caddy -service restart | start | stop
3、客户端设置
地址:就是你的域名,端口是 443,ID 是你上面那一串,额外 ID 是 0,传输协议是 ws,其它默认,最下面底层传输安全记得把 tls 选上。完事。
4. 额外 (nginx 配置)
你已经在用 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;
}
}
注: 转自 loc,aming