proxy.js 2.8 KB

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