Экспресс-прокси, чтобы получить реальное имя хоста - PullRequest
0 голосов
/ 22 сентября 2018

Я использую промежуточное программное обеспечение express-http-proxy на моем экспресс-сервере.

server.use(
  ['/api', '/files'],
  proxy(
    req => {
      if (req.app.get('debug') && req.app.get('debug_url')) {
        return req.app.get('debug_url');
      }
      return url.format({
        protocol: req.protocol,
        host: req.get('host')
      });
    },
    {
      proxyReqPathResolver: req => req.originalUrl,
      memoizeHost: false
    }
  )
);

server.get('/*', asyncHandler(async (req, res, next) => {
    const response = await request
      .get('http://localhost:3000/api/...')
      .set('Accept', 'application/json');
    ...
}))

В процессе производства я хочу добавить URL запроса

http://localhost:3000/api/...    
http://localhost:3000/files/...

к реальному имени хоста, поэтому итоговые URL будут выглядеть так:

http://example.com/api/...    
http://example.com/files/...

с текущим кодом, прокси target url по-прежнему localhost.Как я могу получить доступ к реальному имени хоста?Спасибо за любую помощь.

...