使用Node,Express,Ghost和http-proxy防止重复请求

时间:2015-03-29 20:27:40

标签: node.js express http-proxy ghost-blog

我使用&nbsp安装鬼'设置Ghost。方法并使用子目录方法在我现有的Express服务器上的 / blog 中托管它。

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

一切正常,但每个请求都是重复的,这很烦人。这是 / blog 的单页加载:

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操作导致了这种情况,但我还没有能够识别它

1 个答案:

答案 0 :(得分:2)

回顾过去,我认为修正了这个问题后发生了什么变化:

最初,我的Node路由处理了 Ghost之前的所有非博客请求

我认为解决方案是切换这些,以便Blog代码在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});        
});