杂记 | 搭建反向代理防止OpenAI API被封禁(对于此次收到邮件提示7月9日后将被屏蔽的解决参考)

文章目录

  • 重要声明(免责)
  • 01 OpenAI封禁API的情况
  • 02 解决方案及原理
    • 2.1 原因分析
    • 2.2 解决方案
    • 2.3 步骤概述
  • 03 操作步骤
    • 3.1 购买一个海外服务器
    • 3.2 申请一个域名
    • 3.3 将域名指向代理服务器
    • 3.4 在代理服务器上安装nginx
    • 3.5 配置反向代理


重要声明(免责)

笔者本人一直以来使用本文中的代理方式,目前尚未收到封禁提示邮件,但不保证100%有效
本教程中使用的方案仅供参考,如果采用本方案后仍被封禁,本人对封禁结果及其一切损失不负责

(嫌啰嗦可以直接跳到03部分)

01 OpenAI封禁API的情况

今天(2024.06.25)一早,很多人收到OpenAI的邮件,提示将阻止来自不再支持的国家和地区名单上的地区的API流量。
在这里插入图片描述

我们的数据显示您的组织有来自OpenAI所不支持地区的流量。您可以点击查看当前受支持的国家和地区。我们将从7月9日起,采取额外的措施来阻止这些流量。要继续使用OpenAI的服务,您需要在受支持的地区访问。

02 解决方案及原理

2.1 原因分析

根据邮件内容,造成这种情况的原因可能是:

  1. 在调用OpenAI的API时,使用了国内的本地网络
  2. 使用了中国香港的代理节点(或是别的不受支持的地区的代理节点)
  3. 虽然使用了代理,但不是全局代理,造成代理没能隐藏真实的IP地址
  4. 代理的网络节点频繁变动,或者代理的节点本身是被OpenAI阻止的机房

2.2 解决方案

解决方案概述为:采用可靠的节点+反向代理的方式避免上述问题,从而避免被封禁。

传统模式下,我们可能习惯的是在本地使用正向代理(梯),请求的目标地址仍然是官方的https://api.openai.com,这种方式很容易触发上面提到的几个原因。

而使用反向代理的方案,可以保证每次请求都是从特定的代理节点发出的,即使本地网络是国内或者不断变动,都不影响OpenAI观测到的请求是来自可信节点。

2.3 步骤概述

  1. 购买一个海外的代理服务器
  2. 申请一个域名
  3. 将域名指向代理服务器
  4. 在代理服务器上安装nginx(以nginx proxy manager面板为例)
  5. 配置反向代理

03 操作步骤

3.1 购买一个海外服务器

首先不推荐购买阿里云或腾讯云的服务器,因为国内的服务提供商被封的可能性大,而且可能还有备案的要求,很麻烦。
买的时候建议选择美国节点,不要选香港节点。
笔者本人一共尝试过4家服务器提供商:

  1. bandwagonhost(搬瓦工)
    不推荐,因为我买来就发现被OpenAI屏蔽了,可能是因为这个提供商太多中国用户,被检测到了。好在可以退款。

  2. racknerd(便宜但线路一般)
    具体参考这位博主的文章(无法打开的话需要梯)
    优点是非常便宜,一年10刀就能拿下,缺点是网络线路是普通的BGP,可能影响代理的效果(但实际用下来感觉还好)。
    购买时建议选择洛杉矶的机房。

  3. hostdare(线路好但配置低)
    网址:https://bill.hostdare.com/store/premium-china-optimized-nvme-kvm
    优惠码可以自己搜索下看有没有。
    优点是支持CN2 GIA线路,质量好,缺点是带宽较小,流量偏少,价格偏高。
    购买时建议认准以下红框部分:
    在这里插入图片描述

  4. ZgoCloud(笔者正在用)
    网址:https://clients.zgovps.com/?affid=615
    优点是有CN2 GIA线路,质量较好且性价比高,没那么贵。缺点是不支持退货,有一定风险。
    购买时一定要选购针对中国线路做了优化的(可惜发文时好像暂时没有这种机了)
    这家提供商是我正在使用的,目前用下来没啥问题。

我用的ZgoCloud(暂时没货),个人轻度使用的话可以选择racknerd,不差钱选hostdare。

假设购买的代理服务器的公网ip为58.58.58.58,后文基于该示例IP讲解。

3.2 申请一个域名

我在阿里云购买的,也可以在腾讯云购买,这个无大所谓,便宜的.top域名一年只要10元左右。
(操作过程略)
假设购买的域名为example.com,后文基于该示例域名讲解。

3.3 将域名指向代理服务器

在购买域名的提供商管理控制台做DNS解析,将域名(最好是二级域名)指向购买的代理服务器。
(操作过程略)
例如:将api.example.com指向58.58.58.58,设置时选择A记录。

3.4 在代理服务器上安装nginx

使用SSH工具登录到代理服务器,安装好docker和docker compose。
推荐使用这个nginx面板项目进行配置:
https://github.com/NginxProxyManager/nginx-proxy-manager
docker-compose.yml:

version: '3.8'
services:app:image: 'docker.io/jc21/nginx-proxy-manager:latest'restart: unless-stoppedports:- '80:80'- '81:81'- '443:443'volumes:- ./data:/data- ./letsencrypt:/etc/letsencrypt

安装完成后登录:http://58.58.58.58:81
在这里插入图片描述

初始账号:admin@example.com
初始密码:changeme

3.5 配置反向代理

参考我的配置,Domain Name那里填写刚才指向的域名:
在这里插入图片描述

然后申请一个免费证书(有几个月的有效期,快过期时记得登录面板点击renew):
在这里插入图片描述
接着是高级配置:
在这里插入图片描述

location / {proxy_pass https://api.openai.com/;proxy_ssl_server_name on;proxy_set_header Host api.openai.com;proxy_set_header Connection '';proxy_http_version 1.1;proxy_buffering off;proxy_cache off;
}

完成后浏览器访问配置好的这个代理域名(不挂梯直接访问),如果出现这样的界面,说明成功了:
在这里插入图片描述
然后,在所有需要调用OpenAI API的地方,将官方的api.openai.com替换成自己的api.example.com就可以了。

代理其他服务提供商同理。

再次声明:本方案仅供参考,不保证一定不会被封,如果仍然被封,作者概不负责。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/860510.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

接口自动化测试

接口自动化测试 为什么要做自动化测试?如何做自动化测试测试工具 本文只讲方法,不会太多关注具体实用细节。 为什么要做自动化测试? 当接口的功能很复杂、很灵活、频繁变更时,代码稍微有些变更,影响范围很难短时间内…

网工内推 | 深圳网工,国企,最高20k,六险一金,NA以上认证

01 沛顿科技(深圳)有限公司 🔷招聘岗位:网络工程师 🔷岗位职责: 1、负责网络设备管理及维护,确保网络系统的稳定运行; 2、负责有效规划及实施网络布线系统; 3、负责服务…

打造你的跨境电商平台:从pandabuy的成功看如何开发淘宝代购集运系统

在当今全球化的电商浪潮中,跨境购物已成为一种趋势。pandabuy作为一个成功的跨境独立站,其淘宝代购集运系统凭借高效的服务和优质的用户体验广受欢迎。对于希望建立类似平台的创业者来说,深入分析pandabuy的成功经验,并运用于自身…

LV、古驰奢侈品跌落神坛!2024消费风向彻底变天!2024创业新风口!2024创业小成本项目!

LV下滑6%、古驰暴跌28%,奢侈品在华越来越卖不动,外媒开始着急了!就在前段时间,美媒罕见发声,表示今年1季度特别困难,有奢侈品公司在华负增长高达30%。还说如何提升销量,是当下奢侈品牌在华的头等…

使用matlab开发stm32总结,stm32-matlab常见的问题处理以及报错合集

1, 问题:本来是好的,突然编译运行报错,说是确少包, 解决方案:重启以后好了 2,有完美的马鞍波,为什么不能够转动呢? 原因是我这里模型的问题,我计算出来的是占…

前端请求XMLHttpRequest详解

文章导读:AI 辅助学习前端,包含入门、进阶、高级部分前端系列内容,当前是 javascript 的部分,瑶琴会持续更新,适合零基础的朋友,已有前端工作经验的可以不看,也可以当作基础知识回顾。 这篇文章…

全省高等职业学校大数据技术专业建设暨专业质量监测研讨活动顺利开展

6月21日,省教育评估院在四川邮电职业技术学院组织开展全省高等职业学校大数据技术专业建设暨专业质量监测研讨活动。省教育评估院副院长赖长春,四川邮电职业技术学院党委副书记、校长冯远洪,四川邮电职业技术学院党委委员、副校长程德杰等出席…

业务场景问题二:部分业务场景问题(简)

在面试环节,通常面试官会问一些企业级开发项目中的场景问题,大致可分为以下几个部分,本章作为简易引导,不作详细的技术解答。 面试的业务场景问题 处理亿级数据库: 数据库分库分表:使用分片技术将数据按照…

Docker环境安装anythingllm

拉镜像 docker pull mintplexlabs/anythingllm建目录 export STORAGE_LOCATION$HOME/anythingllm && \ mkdir -p $STORAGE_LOCATION && \ touch "$STORAGE_LOCATION/.env"检查目录具有写权限 # 为目录anythingllm赋写权限 chmod 777 anythingllm 启…

探索Scala的尾递归优化:性能提升的秘诀

探索Scala的尾递归优化:性能提升的秘诀 引言 在函数式编程中,递归是一种常见的编程范式。然而,传统的递归可能会因为堆栈溢出而导致性能问题。Scala作为一门支持函数式编程的语言,提供了尾递归优化的特性,这使得递归…

PCL笔记二 之VS环境配置(不同版本Debug+Release编译)

PCL笔记二 之VS环境配置(不同版本Debug+Release编译) PCL官网:https://github.com/PointCloudLibrary/pcl/releases众所周知,PCL是一个用于点云处理并且依赖不少三方库的一个算法库,同时在编译配置环境时也很复杂,因此这里想整理一下不同版本对应的环境配置过程,版本如下…

力扣921. 使括号有效的最少添加

Problem: 921. 使括号有效的最少添加 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 1.定义int变量res、need分别记录需要插入的左括号数和所需与左括号配对的右括号数; 2.遍历字符串: 2.1.若当为左括号,则need,表示…

eslint版本9.0之后配置方法

在eslint9.0之后,迎来版本大更新。首先是抛弃了自带的规则(没了我喜欢的git standard风格),其次是配置又更新了,改动有点大,重新捋了一遍之后,附上最新的eslint配置过程。 初始化命令 此次试验…

[word] 如何在word中插入地图? #学习方法#其他

如何在word中插入地图? 人事部门在给即将入职的新员工发送入职资料时,为了方便新员工能快速找到公司的具体位置,一般都会在word资料中插入公司所在位置的地图。今天,小编就分享一个在word中插入地图的方法。 第一步:…

企智汇软件:专业项目管理系统,一体化PaaS平台!快速落地项目!

在快速变化的市场环境中,项目管理不再是简单的任务分配和时间跟踪,它更是一门需要精准决策、高效沟通和智能协作的管理工具。然而,面对日益复杂的项目需求、跨部门的协作挑战以及海量的信息数据,传统的项目管理方式往往显得力不从…

HTML/CSS 基础

1、<input type"checkbox" checked> checked 默认选中为复选框 2、表格中的标题<caption> 3、文字标签直接加 title 4、<dl>为自定义列表的整体&#xff0c;包裹<dt><dd> <dt>自定义列表的主题 <dd>主题的每一项内容 5、…

数值分析笔记(三)函数逼近

最佳平方逼近 函数逼近是使用一种简单易算的函数来近似表示一个复杂函数。 该问题可转化为求解线性方程组 G n C F n ​ G_{n}CF_{n}​ Gn​CFn​​ 其中&#xff0c;系数 C ( c 0 , c 1 , ⋯ , c n ) T , F n ( ( f , φ 0 ) , ( f , φ 1 ) , ⋯ , ( f , φ n ) ) T C(c…

【Java】解决Java报错:IllegalMonitorStateException in Synchronization

文章目录 引言一、IllegalMonitorStateException的定义与概述1. 什么是IllegalMonitorStateException&#xff1f;2. IllegalMonitorStateException的常见触发场景3. 示例代码 二、解决方案1. 确保在同步代码块或方法中调用wait()、notify()和notifyAll()2. 使用同步方法3. 使用…

Linux系统学习——指令三

Linux系统学习——指令三 Linux系统学习——指令三chmod — 文件执行权限添加文件执行权限去除文件执行权限 查找文件中特定关键字使用vi编辑文件并查找特定关键字文本文件查找特定关键字1: 使用 grep 命令2: 使用 find 命令3: 使用 awk 命令4: 使用 sed 命令5: 使用 ag 命令&a…

非强化学习的对齐方法

在文章《LLM对齐“3H原则”》和《深入理解RLHF技术》中&#xff0c;我们介绍了大语言模型与人类对齐的“3H原则”&#xff0c;以及基于人类反馈的强化学习方法&#xff08;RLHF&#xff09;&#xff0c;本文将继续介绍另外一种非强化学习的对齐方法&#xff1a;直接偏好优化&am…