404-new

中转api接口空白反代实现方法

问题描述

最近在给代理商做中转api供货的时候,突然意识到这个空白反代有必要拿出来写写,因为我每次做空白反代都要从头开始想应该怎样修改配置文件,非常浪费时间。所以写下来后,如果后面无论是自己还是他人需要新增空白反代,都能够快速完成空白反代的搭建。

实现效果

有这样一个场景需要空白反代:

A有一个中转api站点提供AI模型的api服务,B认为A的api不错,所以B也想代理此业务卖给自己的客户。

如果没有空白反代,B在推广的时候,会遇到一个问题就是,B需要把A的中转api站点接口发给客户C,这样一来客户C就可以顺着访问A的接口站点从而跳过了B,找到A进行直接合作,俗称跳单。

有了空白反代,B就可以自己构建一个属于自己的专属接口了,这样阻断了客户C跳单的可能,对B的业务起到了防止客户流失的作用。

解决办法

第一步:

解析某个域名到你的反代服务器,如xx.example.com(请替换为自己的域名);

第二步:

宝塔中新建反代,将A的中转接口https://aa.xxx.xx用xx.example.com进行反代;

第三步:

反代配置

修改反代配置文件,如下(注意第9行和第10行是需要修改为自己的域名。

				
					
#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/
				
			

第四步:

修改站点配置文件,将其中的 error_page 404 /404.html;此行注释掉即可。

注释404行

完成效果

完成后,你访问xx.example.com,将会跳转到404页面。

404-new

全文结束