我在嘗試在Heroku上運行簡單的Node.js應用程序時遇到了令人沮喪的「錯誤」。 Heroku本身並不報告錯誤 - 應用程序已啓動(未崩潰,未顯示「Hxx」代碼);我所得到的是這樣的:在Heroku上運行Node.js應用程序時出錯
heroku[router]: at=info method=GET path=/index.html
host=realsheek.herokuapp.com fwd="24.63.82.165" dyno=web.1 connect=0ms
service=4ms status=404 bytes=33
當我從瀏覽器中運行的應用程序,它說Cannot GET
。我不知道它試圖GET
。我的應用程序是使用Mozilla的SocialAPI的SocialProvider的測試平臺。該應用程序本身是來自https://github.com/mixedpuppy/socialapi-demo
的演示版本。一些錯誤被修復了,否則這個和這個演示是一樣的(我只用修復了的bug就使用了回購)。我有一個index.html
頁面,它安裝SocialProvider,此時服務器端應用程序啓動並執行其餘的魔術。它在localhost
上運行良好,但是當我將它推到Heroku時,它失敗了。 git push
報告沒有問題(只是通常的「無自述數據」警告)。
我很難過,因爲我只是無法看到它試圖獲得什麼;顯然404錯誤表明缺少頁面,但該應用程序不會調用任何HTML
頁面,並且需要的所有內容都存在(如我在localhost
上確認的那樣)。
我意識到這並不是很多事情要繼續下去,沒有看到實際的應用程序,也不知道它正在嘗試做什麼。沒有真正的錯誤報告 - 只是404狀態,顯然可能是任何事情。但目前我很難受,所以如果有人有任何見解或建議,我會非常感激。
**更新**我用了一個_LiveHTTPHeaders_工具檢查標題併發出一個GET,並且不返回任何內容(以及404狀態)。 我開始懷疑Heroku服務器設置不像傳統或流行的Web服務器,它設置爲提供'index.html'或'default.html'文件來響應GET,只需要路徑。相反,感覺Heroku可以讓你創建任何你想要的服務器配置,並且「默認」不做任何事情。 我在想,我得到404的原因是我實際上沒有返回任何東西 - 這是我的責任。 – Lew
**更新(續)**:因此,在我的'Node.js'應用程序中,以及創建服務器並偵聽外部,我還需要提供靜態HTML頁面以供用戶查看。 如果有人知道Heroku並且可以證實這一點,它會讓我走上正確的軌道來開發解決方案。謝謝。 – Lew