proxy.js 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. const {
  2. createProxyMiddleware
  3. } = require('http-proxy-middleware')
  4. module.exports = (req, res) => {
  5. let target = ''
  6. let headers= {}
  7. // 代理目标地址
  8. if (req.url.startsWith('/mjapi')) { //这里使用/api可能会与vercel serverless 的 api 路径冲突,根据接口进行调整
  9. target = process.env.MJ_SERVER??'https://api.openai.com';
  10. headers= {
  11. 'Mj-Api-Secret': process.env.MJ_API_SECRET // 添加自定义请求头
  12. }
  13. }else if(req.url.startsWith('/openapi')){
  14. target = process.env.OPENAI_API_BASE_URL??'https://api.openai.com';
  15. headers= {
  16. 'Authorization': 'Bearer ' +process.env.OPENAI_API_KEY // 添加自定义请求头
  17. }
  18. }
  19. // 创建代理对象并转发请求
  20. createProxyMiddleware({
  21. target,
  22. changeOrigin: true,
  23. headers,
  24. pathRewrite: {
  25. // 通过路径重写,去除请求路径中的 `/api`
  26. '^/mjapi/': '/'
  27. ,'^/openapi/': '/'
  28. }
  29. })(req, res)
  30. }