我在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