my blog my blog

Tag: nenew
一个openai的ChatGPT反向代理实现

在奶牛看来,用api的同时保护自己不被暴露的安全性是最重要的。ChatGPT最近老火了,虽然奶牛还没用上4.0,一直在排队,但是也写点儿东西来弥补一下这个曾经没什么作品的遗憾吧。一直以来都没有发不过什么作品,这次写了个docker来实现这个反代。以OpenResty,通过lua来做安全验证防护,通过Nginx的proxy来反代。

使用方法:

docker pull nenew/openai-api
docker run -itd --name api-server -p 127.0.0.1:811:80 nenew/openai-api

你的openai反代地址: http://127.0.0.1:811
通过绑定到本地端口,可以阻止服务器被公众访问。
如果想让你的api反代服务器被公开,你也可以通过-e选项来绑定一个可以访问的IP或者设置一个密码来保证只有自己可以使用。

docker run -itd --name api-server -p 811:80 -e BIND_IP="123.123.123.123" nenew/openai-api
docker run -itd --name api-server -p 811:80 -e SECRET="Your secret" nenew/openai-api

注意:如果你设置了SECRET环境变量,你还需要设置你的app的请求头,增加X-Secret来完成验证:

X-Secret:Your secret

 测试:

访问 http://127.0.0.1/status 你可以看到你的请求头、请求体、设置的IP、设置的密码以及响应头的具体信息.
你也可以设置你的app的api到这个页面来进行测试或者使用Nginx的proxy_pass来设置转发。

proxy_pass http://1277.0.0.1/status

为什么你的反代不安全

其实写这个docker的原因很简单,看到很多不安全因素存在在你们的自建api里面。
首先你们没有去掉或者掩盖[“X-Real-IP”]和[“X-Forwarded-For”]。
反向代理的作用是保护目标服务器,但是我们其实想通过反代保护我们自己来保障我们的app可以正常的访问,所以完全没有必要把我们的X-Real-IP和X-Forwarded-For给目标服务器。我们建立反代其实目的是建立一个正向代理。这两个参数明显会暴露我们自己的真实IP,造成api的key多人使用的问题。
其次,很多人自建的api谁都可以用,比如像那些利用serverless实现的反代,你的访问IP地址每次都可能变化,那样子你的api key很可能就被判定为滥用【remote_addr一直是变化的】。我这个docker可以通过设置绑定IP和SECRET来阻止外界访问。
我认为最安全的方案应该是:
把这个docker放在你的独立服务器或者VPS上,你可以设置你的web app也在同一台服务器上,当然你也可以设置你的app来通过加密或者绑定IP的方式来达到隐藏自己的目的。

Sharktech鲨鱼机房VPS和独服8折永久优惠,奶牛专享

跟美国的Sharktech鲨鱼机房合作已经一年有余,今天凌晨鲨鱼的老朋友发来优惠信息,给了奶牛一个8折永久递减优惠。

对于鲨鱼Sharktech来说,奶牛觉得最好的形容词就是稳定,这也是建站最需要的,合作一年来,无论从40Gbps的DDOS防御到60GbpsDDOS防御的免费高防升级,还是CN2 GIA BGP的接入,三网直连的美西洛杉矶服务器Sharktech鲨鱼一直在努力,致力于拓展中国市场,在使用过程中有7*24小时技术服务,售后无忧。

促销地址: https://www.affu.net/go/sharktech
促销码:nenew
适用范围:截止2019年5月底,所有VPS的月付、季付、半年付、年付套餐可享受持续递减8折优惠.

Sharktech鲨鱼机房独服促销

CPU:Dual E5-2670
内存:32GB
硬盘:2TB HDD
流量:不限流量
带宽:1Gbps
价格:$189/月 (6折限量供应)
促销码:E51G
购买地址:
https://www.affu.net/go/sharktech-2019-march-07

CPU:Xeon E3-1270v2
内存:16GB
硬盘:2TB HDD
流量:不限流量
带宽:10Gbps
价格:$588.60/月 (45折限量供应)
促销码:10G45
购买地址:
洛杉矶机房 https://www.affu.net/go/sharktech-2019-march-08
芝加哥机房 https://www.affu.net/go/sharktech-2019-march-09
丹佛机房 https://www.affu.net/go/sharktech-2019-march-10

CPU:Dual Xeon E5-2670
内存:32GB
硬盘:2TB HDD
流量:不限流量
带宽:10Gbps
价格:$624.6/月 (45折限量供应)
促销码:10G45
购买地址:
洛杉矶机房 https://www.affu.net/go/sharktech-2019-march-11
芝加哥机房 https://www.affu.net/go/sharktech-2019-march-12
丹佛机房 https://www.affu.net/go/sharktech-2019-march-13