Экспресс-прокси, чтобы получить реальное имя хоста

Я использую промежуточное программное обеспечение 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/...

В текущем коде целевой URL-адрес прокси остается локальным. Как я могу получить доступ к реальному имени хоста? Спасибо за любую помощь.

0 ответов

Другие вопросы по тегам