问题描述
最近在给代理商做中转api供货的时候,突然意识到这个空白反代有必要拿出来写写,因为我每次做空白反代都要从头开始想应该怎样修改配置文件,非常浪费时间。所以写下来后,如果后面无论是自己还是他人需要新增空白反代,都能够快速完成空白反代的搭建。
实现效果
有这样一个场景需要空白反代:
A有一个中转api站点提供AI模型的api服务,B认为A的api不错,所以B也想代理此业务卖给自己的客户。
如果没有空白反代,B在推广的时候,会遇到一个问题就是,B需要把A的中转api站点接口发给客户C,这样一来客户C就可以顺着访问A的接口站点从而跳过了B,找到A进行直接合作,俗称跳单。
有了空白反代,B就可以自己构建一个属于自己的专属接口了,这样阻断了客户C跳单的可能,对B的业务起到了防止客户流失的作用。
解决办法
#PROXY-START/
location = / {
return 404;
}
location ^~ /
{
proxy_pass https://xx.example.com;
proxy_set_header Host xx.example.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_http_version 1.1;
# proxy_hide_header Upgrade;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
set $static_fileOSzsC9CT 0;
if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
{
set $static_fileOSzsC9CT 1;
expires 1m;
}
if ( $static_fileOSzsC9CT = 0 )
{
add_header Cache-Control no-cache;
}
}
proxy_ssl_server_name on;
#PROXY-END/