Nginx配置代理访问ChatGpt接口详细教程

释放双眼,带上耳机,听听看~!
本教程详细介绍了如何使用Nginx配置代理访问ChatGpt接口的步骤,包括SSL证书生成、路由转发配置等内容,适合对Nginx和代理有一定了解的开发者。

本文正在参加nginx.org/en/download…,我这里下载的时1.23.3版本

  • 将nginx解压到/usr/local/nginx目录
  • tar -xzvf nginx-1.23.3.tar.gz  /usr/local/
    
    1. 修改nginx名称
    cd /usr/local 
    mv nginx-1.23.3 nginx
    

    2.2.安装SSL组件

    因为我们访问的时https,故需要给nginx安装SSL模块,使其支持https的转发。

    1. 下载SSL依赖模块
    yum -y install openssl openssl-devel make zlib zlib-devel gcc gcc-c++ libtool pcre pcre-devel
    
    1. nginx安装ssl
    ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
    

    2.3. SSL证书生成

    1. 创建服务器证书密钥文件 server.key:

    openssl genrsa -des3 -out server.key 2048

    输入密码,确认密码,自己随便定义,但是要记住,后面会用到。

    1. 创建服务器证书的申请文件 server.csr

    openssl req -new -key server.key -out server.csr

    1. 生成server-ca.crt,输入国家、省份等信息

    openssl req -new -x509 -key server.key -out server-ca.crt -days 3650

    按照提示一步一步输入信息:

    Enter pass phrase for root.key: ← 输入前面创建的密码
    
    Country Name (2 letter code) [AU]:CN ← 国家代号,中国输入CN
    
    State or Province Name (full name) [Some-State]:BeiJing ← 省的全名,拼音
    
    Locality Name (eg, city) []:BeiJing ← 市的全名,拼音
    
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. ← 公司英文名(随便写)
    
    Organizational Unit Name (eg, section) []: ← 可以不输入
    
    Common Name (eg, YOUR name) []: ← 输入域名,如:[iot.conet.com](<http://iot.conet.com/>)(随便写)
    
    Email Address []:admin@mycompany.com ← 电子邮箱,可随意填(随便写)
    
    Please enter the following ‘extra’ attributes
    
    to be sent with your certificate request
    
    A challenge password []: ← 可以不输入
    
    An optional company name []: ← 可以不输入
    
    1. 备份一份服务器密钥文件

    cp server.key [server.key.org](<http://server.key.org/>)

    1. 去除文件口令

    openssl rsa -in [server.key.org](<http://server.key.org/>) -out server.key

    1. 生成证书文件server.crt

    openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

    2.4.nginx配置

    nginx配置主要有两个,一个是证书配置,一个是路由转发配置

    修改nginx安装目录下的 /conf/nginx.conf,将以下配置复制进去。其中证书目录和监听端口按照自己的需要进行修改。

    worker_processes  1;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" $http_host '
                         '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  logs/access.log  main;
    
        sendfile        on;
      
        keepalive_timeout  65;
    
        server {
    		# 服务监听端口
            listen       19999;
            server_name  ai;
    		# 证书配置,将刚才生成的证书路径配置进来
    		ssl_certificate      /usr/local/nginx/ssl/server.crt;
        	ssl_certificate_key  /usr/local/nginx/ssl/server.key;
    
        	proxy_ssl_server_name on;
            proxy_ssl_session_reuse off;
    		ssl_session_cache    shared:SSL:1m;
        	ssl_session_timeout  5m;
    
        	ssl_ciphers  HIGH:!aNULL:!MD5;
        	ssl_prefer_server_ciphers  on;
    	
            
    # 代理配置,监听链接中如果有v1,那么就将请求转发到https://api.openai.com
    	location /v1/ {
    		proxy_pass <https://api.openai.com>;
    	}
        }
    
    }
    

    路由转发这里我懒省事了下,因为openai的接口路径都带有v1,因此我就按照如果路径中存在v1则就直接转发到openai服务了。nginx也可以根据正则匹配。相关匹配规则可以参考如下:

    • = 开头表示精确匹配; 如: 设置location = /v1/,那么就是路径只能等于v1,不然匹配不到
    • ^~ 开头表示uri以某个常规字符串开头,不是正则匹配;
    • ~ 开头表示区分大小写的正则匹配;
    • ~* 开头表示不区分大小写的正则匹配;
    • / 通用匹配, 如果没有其它匹配,任何请求都会匹配到;

    2.5.nginx启动

    进入nginx安装目录的sbin文件夹,执行./nginx即可启动nginx服务,执行完毕可以执行

    ps-ef | grep nginx

    查看是否启动

    Nginx配置代理访问ChatGpt接口详细教程

    2.6.测试nginx转发

    本地进行转发测试,已经可以收到openai的请求了。

    curl --include https://127.0.0.1:19999/v1/text

    Nginx配置代理访问ChatGpt接口详细教程

    至此,ChatGpt代理的搭建就完成了,如果有问题可以随时关注我公众号:老王说技术或者评论进行交流哈。现在你可以通过本地调用代理服务的外网+端口进行openai接口的访问了,赶快行动吧。

    本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
    AI教程

    Stable Diffusion插件:StyleSelectorXL——七十七种绘画风格任君选择

    2023-11-18 11:20:14

    AI教程

    AIGC时代的到来——迎接时代浪潮的准备

    2023-11-18 11:34:14

    个人中心
    购物车
    优惠劵
    今日签到
    有新私信 私信列表
    搜索