Как настроить локальные поддомены для Node.приложение на JS
Я запускаю приложение express на узле.js. Приложение использует модуль экспресс-поддоменов чтобы помочь обрабатывать маршруты для двух разных поддоменов (sub1.example.com и sub2.example.com). Я размещаю приложение на AWS Elastic Beanstalk. В моей производственной среде все работает отлично. Но на моей локальной машине я не могу заставить это работать. Я попытался добавить поддомены в файл host 127.0.0.1 localhost sub1.localhost sub2.localhost
. Хотя это позволяет мне добавлять поддомен в localhost, модуль не распознайте это как допустимый поддомен, и поэтому ищет маршруты поддоменов в моих корневых маршрутах.
в Main.js:
var routes = require('./routes/index')(passport);
var sub1_routes = require('./routes/sub1')(passport);
var sub2_routes = require('./routes/sub2')(passport);
app.use(subdomain('sub1', sub1_routes));
app.use(subdomain('sub2', sub1_routes));
app.use('/', routes);
мне нужно иметь возможность обрабатывать это локально. Требуется много времени, чтобы внести небольшие изменения в AWS test, iterate и т. д.
2 ответов
Я автор модуля :)
для каждого нового поддомена, который вы хотите протестировать локально, вы должны добавить в файл/etc / hosts. Так например:
localhost-это:
127.0.0.1 localhost
новый поддомен будет..
127.0.0.1 sub1.localhost
и еще..
127.0.0.1 sub2.localhost
проверьте, что я сделал в тесты.
Я имел же проблема и я нашел простое решение. Вместо того чтобы писать!--0--> попробуйте заменить localhost
С lvh.me
это домен, который всегда разрешает localhost и теперь, когда вы пишете sub1.lvh.me
хотя порт вроде sub1.lvh.me:3000
он все равно будет работать.