2015-03-29 9 views
3

Я установил Ghost с помощью метода «npm install ghost» и использовал метод подкаталога для его размещения в /blog на моем существующем сервере Express.Предотвращение дублирования запросов с использованием Node, Express, Ghost и http-proxy

app.all("/blog*", function(req, res){ 
    blogProxy.web(req, res, { target: 'http://localhost:2368' }); 
}); 

Все работает нормально, однако каждый запрос дублируется, что раздражает. Это одна страница нагрузка /блог:

GET /blog/ 304 29.521 ms - - 
GET /blog/ 304 31.080 ms - - 
GET /blog/assets/css/screen.css?v=02ca13e45a 304 7.910 ms - - 
GET /blog/public/jquery.js?v=02ca13e45a 304 4.262 ms - - 
GET /blog/assets/js/jquery.fitvids.js?v=02ca13e45a 304 4.179 ms - - 
GET /blog/assets/js/index.js?v=02ca13e45a 304 2.844 ms - - 
GET /blog/assets/css/screen.css?v=02ca13e45a 304 11.546 ms - - 
GET /blog/public/jquery.js?v=02ca13e45a 304 11.506 ms - - 
GET /blog/assets/js/jquery.fitvids.js?v=02ca13e45a 304 11.655 ms - - 
GET /blog/assets/js/index.js?v=02ca13e45a 304 11.786 ms - - 
GET /blog/assets/fonts/casper-icons.woff 304 0.954 ms - - 
GET /blog/assets/fonts/casper-icons.woff 304 2.180 ms - - 

Я предполагаю, что это связано с запросами прокси-экспедиторских из первичного порта в 2368, который по дизайну? Любой способ избежать этого?

Это Возможно, что у меня есть другое действие app.use в моей конфигурации сервера, которое вызывает это, но я не смог его идентифицировать.

+0

Эй Джеймс - вы когда-нибудь понять это? Я искал то же самое (с тем же типом конфигурации subdir), и это, кажется, единственное упоминание проблемы, которую я могу найти. – nlh

+0

Есть немного кода, поэтому я отвечу в ответ .. –

ответ

2

Оглядываясь назад, вот что изменилось, что я считаю, исправили проблему:

Изначально у меня был узел маршрут, который обрабатывает все не-блог просит перед тем Духа.

решение, я считаю, должен был переключить это так код Блог выполнял до того app.get('/*'):

// Frontend Blog 
ghost({ 
    config: __dirname + '/app/frontend/ghost/config.js' 
}).then(function (ghostServer) { 
    ghostServer.start(parentApp); 
}); 

// Backend App  
app.get('/*', function (req, res, next) {  
    res.sendFile("app.html", {root: __dirname + config.path});   
}); 
+0

Кроме того, начальный код 'app.all ("/blog * ")' находился в верхней части моего файла конфигурации сервера, выше bodyparser. –