反代:反向代理,指代使用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,记录完了,会发现其实都是万变不离其宗。