1 回答

TA貢獻2039條經(jīng)驗 獲得超8個贊
504 Gateway Timeout
表示 nginx 代理等待上游應用響應的時間過長。如果這種情況發(fā)生在通常在幾秒后返回的端點上,很可能是 nginx 代理試圖到達您的應用程序未偵聽的端口(或者應用程序已崩潰)。
默認情況下,Elastic Beanstalk 將 nginx 代理配置為將請求轉發(fā)到端口 5000 上的應用程序。您可以通過將PORT
環(huán)境屬性設置為主應用程序偵聽的端口來覆蓋默認端口。更多信息:AWS 反向代理文檔
確保您的應用程序代碼偵聽正確的端口。
http.ListenAndServe(":5000", nil);
另一個原因可能是應用程序代碼崩潰。檢查 Elastic Beanstalk 中的最后 100 行日志。您還可以通過 SSH 連接到您的服務器并運行cat /var/log/eb-engine.log
.
反向代理
另外,您似乎正在嘗試靜態(tài)托管/public/index.html. 您可以通過兩種不同的方式執(zhí)行此操作。
使用 Go(不推薦)
http.Handle("/", http.FileServer(http.Dir("./static")))
http.ListenAndServe(":3000", nil)
使用 Nginx(推薦)
通過擴展您的 nginx 配置,您可以使用代理服務器靜態(tài)托管文件并在它們訪問您的服務器應用程序之前重定向路由。
~/workspace/my-app/
|-- .platform
| `-- nginx
| `-- conf.d
| `-- myconf.conf
- 1 回答
- 0 關注
- 246 瀏覽
添加回答
舉報