Как справиться с более чем одним доменом?

StackOverflow https://stackoverflow.com/questions/8324126

  •  26-10-2019
  •  | 
  •  

Вопрос

Мне нужно использовать node.js для 3 доменов. Как мне это сделать? На данный момент у меня есть одно приложение, которое связывает порт 80, как поддержать более одного домена? Я также использую кластерный модуль, который разбивает мое приложение в 3 процессах.

Это было полезно?

Решение

Наверное, лучший способ, используйте Подключите vhost, который является модулем подключения.

Или: вы можете переписать свои URL -адреса с помощью глобального обработчика URL -адреса, а затем написать свои ограничения на основе переписанного URL:

app.get('*', function(req, res, next){ 
  if(req.headers.host === 'domain1.com')
    req.url = '/domain1' + req.url;
  else if(req.headers.host === 'domain2.com')
    req.url = '/domain2' + req.url;
  next(); 
})

.get('/domain1/index', function(){ 

}) 

.get('/domain2/index', function(){ 

});

Другие советы

Использовать https://github.com/nodejitsu/node-http-proxy.

Вам необходимо запустить обратный прокси на порту 80 (при условии, что вы используете HTTP, а не HTTPS), а затем запрос будет направлен на разные службы (т.е. Серверы узлов.). Фактический сервер узлов будет использовать нестандартные порты для прослушивания.

например

Service A (for domain A ) - 8001 
Service B (for domain B ) - 8002
Service C (for domain C ) - 8003.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top