我在Linux服务器上运行Apache,发现在使用通过Apache的URL时,我的node.js应用路由无法正常工作。使用Apache代理的Node.js路由
我也跟着上其他职位说明书接通阿帕奇内的代理模块,然后设置了这样的定义:
ProxyPass /testauth http://localhost:3000/
(我也有在那里一行来定义什么也没做类似的反向代理)
我节点应用在端口3000上运行具有路由在app.js
app.use('/', routes);
app.use('/tests', tests);
app.use('/questions', questions);
建立像如果我访问的URL我的服务器上是这样的:
http://rose.cs.umass.edu:3000/
http://rose.cs.umass.edu:3000/questions/179
我得到正确的结果(注意一些简单的CSS样式) 如果我尝试访问通阿帕奇这样的:
http://rose.cs.umass.edu/testauth/questions/179
我得到一个404错误,但是从回溯看它在我的js代码中。
出于某种原因,URL http://rose.cs.umass.edu/testauth部分工程(CSS,但不应用(因为index.ejs文件包括这样的CSS:
<link rel='stylesheet' href='/stylesheets/style.css' />
的CSS文件的位置和相对路径的编码如下所有的node.js例子都在我的开发环境中看过并且工作正常,但是当通过Apache运行应用程序时,事情并不正确。 有没有对apache配置的修复?我必须做一个调整如何在我的javascript和ejs文件中的代码路径?
当然'HTTP://本地主机/ 3000 /'应改为'HTTP ://本地主机:3000 /'?同样在一个半相关的说明中,如果你真的想要节点前面的东西,你可能会更好用其他软件而不是Apache,因为Apache根本不能很好地扩展(或多或少地否定节点的性能)。 – mscdex
正确。我修复了这个帖子。这里的表现并不是真正的问题。节点应用程序是一个快速和肮脏的一次性 – dam