欢迎来到另一个关于在站点的子目录中服务 Ghost 的问题!
我已经设置了一个代理服务器,因为许多线程都有详细信息(仍然没有文档......)和这个 Github 配置文件详细信息(https://github.com/owenscott/hapi-ghost-proxy-example/blob/master /config.js)。
我可以提供根页面,但不能让 Ghost 显示在子目录路由上。对于以下错误中到底发生了什么(当您导航到 url 时显示在浏览器中),我感到非常困惑:
TypeError: Parameter 'url' must be a string, not undefined
at Url.parse (url.js:107:11)
at Object.urlParse [as parse] (url.js:101:5)
at Object.common.setupOutgoing (C:\dev\projects\warpspeed\node_modules\http-proxy\lib\http-proxy\common.js:71:11)
at Array.stream [as 3] (C:\dev\projects\warpspeed\node_modules\http-proxy\lib\http-proxy\passes\web-incoming.js:109:14)
at ProxyServer.<anonymous> (C:\dev\projects\warpspeed\node_modules\http-proxy\lib\http-proxy\index.js:80:21)
at ghost.config (C:\dev\projects\warpspeed\server.js:23:8)
at Layer.handle [as handle_request] (C:\dev\projects\warpspeed\node_modules\express\lib\router\layer.js:76:5)
at next (C:\dev\projects\warpspeed\node_modules\express\lib\router\route.js:100:13)
at Route.dispatch (C:\dev\projects\warpspeed\node_modules\express\lib\router\route.js:81:3)
at Layer.handle [as handle_request] (C:\dev\projects\warpspeed\node_modules\express\lib\router\layer.js:76:5)
我猜这与通过 ghost 进行路由有关,详见我的 server.js 文件(如下)。
var express = require('express');
var ghost = require('ghost');
var httpProxy = require('http-proxy');
var path = require('path');
var app = express();
var proxy = new httpProxy.createProxyServer();
//routes
app.get('/', function(req, res){
res.send('Coming soon...')
});
//ghost routes
app.get('/nowhammystop', function(req, res, next){
proxy.web(res, req, {
target: 'http://localhost:22889'
});
});
//start Ghost
ghost({
config: path.join(__dirname, 'node_modules/ghost/config.js')
});
var server = app.listen(12942);
有任何想法吗?