proxy.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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 minio_url = 'http://10.180.88.84:9000'
  7. const thumbnail_url = 'http://isoc.artaplay.com:8082'
  8. const gate = 'http://10.180.88.84:8081'
  9. // const gate = 'http://liangke00.home.langchao.com:8081'
  10. module.exports = {
  11. register (router) {
  12. if (use) {
  13. router.use('/auth', createProxy(process.env.VUE_APP_KEYCLOAK_OPTIONS_URL))
  14. router.use(minioKey, createProxy(minio_url))
  15. router.use(thumbnailKey, createThumbnailProxy(thumbnail_url))
  16. // router.use('/minio-data', createProxy('http://10.180.90.6:18888', true))
  17. // router.use('/item', createProxy('http://10.180.90.6:18887', true))
  18. // router.use('/scheduling', createProxy('http://10.180.90.6:18887', true))
  19. // router.use('/scheduling-config', createProxy('http://10.180.90.6:18887', true))
  20. // router.use('/scheduling-plugin-device', createProxy('http://10.180.90.6:18887', true))
  21. // router.use('/release-history', createProxy('http://10.180.90.6:18887', true))
  22. router.use('/apkUpgradeFile', createProxy('http://10.180.90.6:8889', true))
  23. router.use('/apkUpgradePolicy', createProxy('http://10.180.90.6:8889', true))
  24. // router.use('/device', createProxy('http://10.180.90.27:8891', true))
  25. // router.use('/sysLog', createProxy('http://10.180.91.61:8890', true))
  26. // router.use('/minio-data', createProdProxy('http://10.180.88.84:8094'))
  27. router.use('/', createProxy(gate))
  28. }
  29. }
  30. }
  31. function createProxy (to, replace) {
  32. return proxy(to, {
  33. parseReqBody: false,
  34. proxyReqPathResolver (req) {
  35. const url = replace ? `${req.baseUrl.replace(base_url, '')}${req.url}` : req.url
  36. console.log(`proxy ${url} to ${to}`)
  37. return url
  38. }
  39. })
  40. }
  41. function createProdProxy (to) {
  42. return proxy(to, {
  43. parseReqBody: false,
  44. proxyReqPathResolver (req) {
  45. const url = `/prod-api/${req.baseUrl.replace(base_url, '')}${req.url}`
  46. console.log(`proxy ${url} to ${to}`)
  47. return url
  48. }
  49. })
  50. }
  51. function createThumbnailProxy (to) {
  52. return proxy(to, {
  53. parseReqBody: false,
  54. proxyReqPathResolver (req) {
  55. const url = req.url.replace(new RegExp(`http.*${minioKey}`), minio_url)
  56. console.log(`thumbnail ${url} to ${to}`)
  57. return url
  58. }
  59. })
  60. }