外网服务器设置OpenAI代理

慈云数据 2024-03-13 技术支持 75 0

文章目录

  • 前言
  • 一、准备外网服务器
  • 二、安装Nginx
  • 三、配置Nginx
    • 1. 配置
    • 2. 重启Nginx
    • 四、测试
      • 1. http
      • 2. Python

        前言

        最近ChatGPT特别火爆,我们国内无法正常调用它的API。 现在考虑使用国外服务器做一个OpenAI API的代理来调用API


        一、准备外网服务器

        可以选择国内腾讯云阿里云等云服务厂商的国外区的服务器, 还可以使用国外的云服务器

        二、安装Nginx

        sudo apt update
        sudo apt install nginx
        

        三、配置Nginx

        1. 配置

        sudo vim /etc/nginx/nginx.conf
        

        进入配置,在 http 项下面添加 server:

        server {
            listen 80;  # 监听80端口,用于HTTP请求
            location / {
                proxy_pass  https://api.openai.com/;  	# 反向代理到https://api.openai.com/这个地址
                proxy_ssl_server_name on;  				# 开启代理SSL服务器名称验证,确保SSL连接的安全性
                proxy_set_header Host api.openai.com;  	# 设置代理请求头中的Host字段为api.openai.com
                chunked_transfer_encoding off;  		# 禁用分块编码传输,避免可能的代理问题
                proxy_buffering off;  					# 禁用代理缓存,避免数据传输延迟
                proxy_cache off;  						# 禁用代理缓存,确保实时获取最新的数据
                # proxy_set_header X-Forwarded-For $remote_addr;  # 将客户端真实IP添加到代理请求头中的X-Forwarded-For字段中,用于记录客户端真实IP
            }
        }
        server {
            listen 443 ssl;
            ssl_certificate /home/ubuntu/key/server.crt;       	# 这里填你的证书的路径
            ssl_certificate_key /home/ubuntu/key/private.key;	# 这里填你的证书的路径
            ssl_session_cache shared:le_nginx_SSL:1m;
            ssl_session_timeout 1440m;
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
            ssl_prefer_server_ciphers on;
            ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5;
            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;
                chunked_transfer_encoding off;
                proxy_buffering off;
                proxy_cache off;
                # proxy_set_header X-Forwarded-For $remote_addr;
                # proxy_set_header X-Forwarded-Proto $scheme;
            }
        }
        

        2. 重启Nginx

        sudo nginx -s stop
        sudo nginx
        

        四、测试

        1. http

        使用Curl指令:

        curl http://你的服务器IP/v1/models \
          -H "Authorization: Bearer $OPENAI_API_KEY" \
          -H "OpenAI-Organization: org-uSBqp59QGlDFxcG7XGikFmCB"
        

        返回模型列表

        使用postman测试:

        在这里插入图片描述

        2. Python

        参考这篇:《Nodejs和python 设置 openai 的API正向代理和反向代理入口链接连接方式,用于国内访问openAI接口》


微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon