🗒️配置专属Clouflare反代ip

2024-6-6|2024-6-6
菜鸡的自我修养
菜鸡的自我修养
type
status
date
slug
summary
tags
category
icon
password
目前已经有比较成熟的转发方案如gost,ip桌子等,但多少都有些美中不足或不符合个人需求
 
因此想使用nginx来配置一个专属的反代了CF的反代ip当作优选ip,优点是配置灵活不会被盗流量不会被墙并且全程仅需一个nginx
 

安装nginx

以下全文以Debian 11默认的v1.18.0版本nginx为例
 

配置nginx

 

HTTP转发

  • /etc/nginx/conf.d 目录创建一个cloudflare_ips.conf 配置文件,内容为cf的ip段
 
  • 然后在 /etc/nginx/sites-available 目录创建一个proxy_http.conf 配置文件,内容如下
这个配置将本机的6666端口的流量转发到cf的80端口并验证sni是否为cili.gay或其子域名,如果是则正常使用否则返回403防止盗用.
cf ip可以选一个适合本机的来提高速度降低延迟 (由于cf任播,不改也行)
需要自行修改检查SNI验证结果的代码,比如需要让example.com通过验证则改为
 
  • 创建一个软链接
  • 检查配置无误后重载
重载成功之后cili.gay域名即可将该机器的ip和6666端口作为优选ip使用
该配置为HTTP,需要关闭TLS或将tls设置为false
 

HTTPS转发

同样需要先在在/etc/nginx/conf.d 目录创建一个cloudflare_ips.conf 配置文件,内容为cf的ip段,参考上面HTTP转发的第一步,已经有了可以跳过这步
 
  • 获取CF的15年自签证书
进入cloudflare,选择侧边栏的 SSL/TLS — 源服务器 ,点击 创建证书 —> 创建 ,然后就可以得到源证书和私钥
 
  • 保存证书
创建一个证书存放目录mkdir -p /etc/nginx/certs
然后将上一步得到的源证书复制内容并保存为fullchain.pem
私钥复制并保存为privkey.pem
 
  • 然后在 /etc/nginx/sites-available 目录创建一个proxy_https.conf 配置文件,内容如下
这个配置将8888端口的流量转发到cf的443端口并限制仅允许证书所对应的域名使用,没什么特别需要修改的地方
 
  • 创建一个软链接
  • 检查配置无误后重载
  • 可能需要的设置
如果cf上的域名默认SSL加密模式是灵活,重载成功之后证书对应的域名即可将该机器的ip和8888端口作为优选ip使用
 
如果不是灵活并且不愿意为了个别子域名而设置灵活,可以添加一个 规则Configuration Rules—创建规则 ,编辑表达式如下,自行替换“a.example.com”为自己的域名
如果需要配置多个子域名,加个or即可,比如
然后拉到下面,将SSL加密模式设置为灵活,部署即可。
 
该配置为HTTPS,需要开启TLS或将tls设置为false并且将跳过证书验证设置为true
Loading...