2017-03-12 88 views
1

問題

我試圖在Heroku上寫一個簡單的HTTP服務器,寫在Rust上。Heroku上的Rust HTTP服務器生成錯誤H18 - 服務器請求中斷

我沒有使用外部HTTP庫,因爲這是一個大學學習項目,所以我通過TcpStream s來管理所有內容。

服務器按預期在本地運行。

我一直在Heroku日誌中看到H18(服務器請求中斷)錯誤,並且Heroku上運行的實例不提供任何文件。具體而言,這些類型的錯誤發生:

2017-03-12T14:11:53.952084+00:00 heroku[router]: sock=backend at=error code=H18 desc="Server Request Interrupted" method=GET path="/" host=regans-rust-project.herokuapp.com request_id=fe50b113-8091-4129-99f5-632c9536bb8e fwd="154.126.208.8" dyno=web.1 connect=0ms service=2ms status=503 bytes=581 protocol=https 

2017-03-12T14:11:54.459277+00:00 heroku[router]: sock=backend at=error code=H18 desc="Server Request Interrupted" method=GET path="/favicon.ico" host=regans-rust-project.herokuapp.com request_id=cf6ad8a0-2780-4c07-843a-2b533df1c9aa fwd="154.126.208.8" dyno=web.1 connect=0ms service=1ms status=503 bytes=388 protocol=https 

我已經試過

  • 我已經確定,靜態資源目錄通過調用Heroku的bash的效用。我也有從這裏運行可執行文件,服務器也在本地工作從Heroku實例以及。
  • 我已經確保我返回格式良好的HTTP響應(我有狀態碼,內容類型,連接類型,內容長度)。

我的代碼

你可以看到我的代碼here

我使用以下buildpack

還有什麼事我應該追加到我的反應,「完成」呢?任何幫助將不勝感激:)

+0

嘗試更換所有的「 \ n「在生成的http響應中使用」\ r \ n「。 – Ankur

+0

修好了!非常感謝! –

回答

1

正如在評論中討論的,問題是,該代碼使用\n作爲而標準的HTTP響應的分隔符說,這應該是\r\n

相關問題