proxy.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. const proxy = require('express-http-proxy')
  2. const use = true
  3. const base_url = process.env.VUE_APP_BASE_API
  4. const minioKey = process.env.VUE_APP_MINIO.replace(base_url, '')
  5. const thumbnailKey = process.env.VUE_APP_THUMBNAIL.replace(base_url, '')
  6. // const gate = 'http://10.180.88.84:8081'
  7. const gate = 'http://10.180.88.84:8093'
  8. // const gate = 'https://msr.rondochina.com:6443'
  9. module.exports = {
  10. register (router) {
  11. if (use) {
  12. router.use('/auth', createProxy(process.env.VUE_APP_KEYCLOAK_OPTIONS_URL))
  13. router.use(minioKey, createProxy(gate))
  14. router.use(thumbnailKey, createThumbnailProxy(gate))
  15. router.use('/', createProxy(gate, '/prod-api'))
  16. }
  17. }
  18. }
  19. function createProxy (to, replace = '') {
  20. return proxy(to, {
  21. parseReqBody: false,
  22. proxyReqPathResolver (req) {
  23. const url = replace === false ? req.url : `${req.baseUrl.replace(base_url, replace)}${req.url}`
  24. console.log(`proxy ${url} to ${to}`)
  25. return url
  26. }
  27. })
  28. }
  29. function createThumbnailProxy (to) {
  30. return proxy(to, {
  31. parseReqBody: false,
  32. proxyReqPathResolver (req) {
  33. const url = `${thumbnailKey}${req.url.replace(new RegExp(`http.*${minioKey}`), `${gate}${minioKey}`)}`
  34. console.log(`thumbnail ${url} to ${to}`)
  35. return url
  36. }
  37. })
  38. }