
服务器clash代理访问api.openai
前言
最近GPT比较火,考虑使用api进行后续应用的对接,目前国内服务器不能直接访问「api.openai.com」,所以尝试使用代理进行访问。
Clash 部署
部署
1、首先到github下载代理工具,选择对应的版本,地址传送门>
ubuntu一般使用clash-linux-amd64版本
可以使用命令:
2、下载后进行解压,并重命名为clash
3、为clash添加可执行权限
4、执行 ./clash 下载配置文件
第一次运行,会下载文件:Country.mmdb、config.yaml、clash.db
也可以手动下载Country.mmdb:https://github.com/Dreamacro/maxmind-geoip/releases
下载默认目录为 /home/{user}/.config/clash
5、运行
运行./clash 命令出现如下提示则表示成功:
INFO[0000] Mixed(http+socks) proxy listening at: [::]:7890
INFO[0000] RESTful API listening at: 127.0.0.1:9090
此时还没配置相关代理规则,只是clash安装成功并启动
配置代理
1、需要你已经有了相关的VPN代理服务配置,一般网络服务提供了Clash的订阅链接,可以直接下载指定内容,使用如下命令:
问题:在使用时下载的内容为一长串字符串,非yaml的配置,应该是订阅格式不同
解决方式:通过本地的Clash导入订阅地址,拿到对应的yaml,进行copy完成。
2、设置系统代理
创建文件:/etc/profile.d/proxy.sh,写入如下内容:
配置表示HTTP 和 HTTPS 请求会通过 http_proxy 和 https_proxy 指定的代理服务器发送,而对于本地主机和局域网中的其它服务器,请求则会直接发送,不经过代理服务器。
使生效:
临时取消系统代理,执行如下命令:unset http_proxy https_proxy no_proxy
验证系统代理是否生效,执行如下命令:
$ env | grep -E ‘http_proxy|https_proxy’
http_proxy=http://127.0.0.1:7890
https_proxy=http://127.0.0.1:7890
变成系统服务
1、创建脚本文件:/etc/systemd/system/clash.service
/usr/local/bin/clash 指定clash命令
-d /home/{user}/.config/clash 指定了配置文件目录
2、重载 systemctl daemon
如果变动脚本,也需要执行重载,然后再重启服务,否则会有如下警告:
Warning: The unit file, source configuration file or drop-ins of clash.service changed on disk. Run ‘systemctl daemon-reload’ to reload units.
3、启动
使用如下命令
查看启动状态:执行如下命令:systemctl status clash
验证
执行如下命令:curl google.com 出现如下,则表示成功。
访问 api.openai
执行 curl api.openai.com 无法成功
修改代理规则:/home/{user}/.config/clash/config.yaml
添加配置(照猫画虎):
- ‘DOMAIN-SUFFIX,openai.com,BH专线版’
- ‘DOMAIN-SUFFIX,api.openai.com,BH专线版’
配置完成后,执行如下命令:curl api.openai.com,出现如下,则表示成功。
总结
1、成功通过Clash完成Ubuntu服务器的代理,在应用程序中使用时指定代理127.0.0.1:7890即可。
2、代理前提需要有个订阅地址,一般获取账号的地方「机场」都会提供, 也就是VPN提供商。