簡體   English   中英

亞馬遜AWS EC2 GoLang

[英]Amazon AWS EC2 GoLang

我有一個小的Go Web服務器,我已部署在Amazon Web Services上,但我無法上班。

我的EC2實例分配了公共和私有IP地址,但我無法啟動Go服務器。

如果我在localhost上提供它它可以工作,但顯然我無法連接到它,所以我試圖將它分配給公共IP,但它崩潰而不會丟失任何錯誤。

http.ListenAndServe("public_ip", nil)

有什么想法從這里開始?

我不確定你的服務器在沒有丟失任何錯誤的情況下崩潰是什么意思。 確保您記錄錯誤:

log.Println(http.ListenAndServe(addr, nil))

這應該會讓你知道為什么它不起作用。 還有什么嗎?

例如,當在沒有root權限的端口<1024上運行時,我可以看到:

2014/11/25 19:14:51 listen tcp :80: bind: permission denied

現在,如果您在地址:8080上運行服務器,您應該監聽所有接口。 您可以從本地主機測試服務器。 如果可行,請通過修改實例的安全組 ,確保可以從此端口上的Internet訪問您的計算機。

如果它仍然無法正常工作,請告訴我們有關崩潰的內容和更多內容。

要檢查幾件事:

  • 您的公共IP在本地計算機上不存在(它是NAT),監聽私有地址或全部0.0.0.0。
  • 如果它是從localhost連接但不是遠程連接,請確保:

    • 實例的安全組具有允許端口和源的入站規則。
    • 如果它在VPC上,則VPC連接到Internet網關並且存在到其的路由。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM