2014-10-25 12 views
8

node.js. üzerinde bir ekspres uygulama çalıştırıyorum. Uygulama, iki farklı alt alanın (sub1.example.com ve sub2.example.com) yollarını yönetmeye yardımcı olmak için express-subdomain module kullanır. Uygulamayı AWS Elastic Beanstalk'de ağırlıyorum. Üretim ortamımda her şey harika çalışıyor. Ama yerel makinemde bunu işe yaramayacağım. Alt etki alanlarını 127.0.0.1 localhost sub1.localhost sub2.localhost ana dosyama eklemeye çalıştım. Bu, bir alt etki alanını localhost'a eklememi sağlasa da, modül bunu geçerli bir alt etki alanı olarak algılamaz ve bu nedenle kök yollarımda alt etki alanı yolları arar. main.js iseNode.js uygulaması için yerel alt etki alanları nasıl ayarlanır

:

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); 

Ben yerel olarak bu idare edebilmek gerekir. Bu vs. AWS testi, yineleme, küçük bir değişiklik itmek için çok fazla zaman alır

cevap

20

Ben modül :)

Eğer içine eklemelisiniz lokal test etmek istediğiniz her yeni alt alan için yazarı olduğum senin/etc/hosts dosyası. Yani, örneğin:

localhost'tur:

127.0.0.1  localhost 

yeni alt alan olacağını ..

127.0.0.1  sub1.localhost 

ve başka .. ben yaptıklarınızı

127.0.0.1  sub2.localhost 

Kontrol dışarı tests.

+0

Bu çözüm benim için işe yaramıyor gibi görünüyor ve testleriniz yalnızca localhost (alt etki alanları olmadan) ve example.com' için denetleniyor gibi görünüyor. Sorunlarımı, ana dosyama 'subdomain.example.com 'ekleyerek ve bunu benim dev URL'm olarak kullanarak düzeltebildim. – Jordan

+2

Maalesef asıl neden üst düzey alan olmadığı için örn. .com veya .co.uk. Bunu açıklamak için README'yi güncelledim. – bmullan91

3

Aynı problemim vardı ve basit bir çözüm buldum. sub1.localhost yazmak yerine, lvh.me ile localhost'u değiştirmeyi deneyin; bu, her zaman localhost'a gideren bir etki alanıdır ve şimdi sub1.lvh.me yazdığınız her ne zaman sub1.lvh.me:3000 gibi bir bağlantı noktası olsa da yine de çalışacaktır.

+0

Bu kimin alan? Bu oldukça harika. –