记:如何反代套了CF的地址?
反代:反向代理,指代使用Nginx、NPM(Nginx Proxy Manager)、Caddy、OpenResty等工具。
套了CF:域名托管于CloudFlare,使用了CloudFlare证书,并开启了橙色小云朵。
前言:为了能够更舒适地观看某公益站(个人记录当然可以这么说啦),收集以下反代方案。
Nginx配置
在Nginx配置文件中添加以下段内容(将www.example.com更换为目标地址):
# 反向代理配置
location / {
# 将所有请求转发到后端服务器 https://www.example.com:443
proxy_pass https://www.example.com:443;
# 设置传递给后端的Host头信息为客户端请求的主机名
proxy_set_header Host $proxy_host;
# 设置X-Real-IP头,将客户端的真实IP传递给后端
proxy_set_header X-Real-IP $remote_addr;
# 设置X-Forwarded-For头,包含客户端的真实IP以及经过的代理IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 设置X-Forwarded-Proto头,指示原始请求的协议
proxy_set_header X-Forwarded-Proto $scheme;
# 配置代理SSL SNI(服务器名称指示)
proxy_ssl_name www.example.com;
# 启用SNI,使后端服务器根据域名提供正确的SSL证书
proxy_ssl_server_name on;
}
Caddy配置
在Caddy配置文件中添加以下段内容(www.example.com为需要反代的地址):
yourself.com {
reverse_proxy https://www.example.com {
header_up Host {upstream_hostport}
header_up Accept-Encoding identity
}
NPM配置(也可与上边的Nginx配置相同)
填写好目标路由后,在Advanced填写以下内容:
location / {
proxy_ssl_name $server;
proxy_ssl_server_name on;
proxy_pass $forward_scheme://$server:$port;
}
Ok,记录完了,会发现其实都是万变不离其宗。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭