我有一个小的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访问您的计算机.
如果它仍然无法正常工作,请告诉我们有关崩溃的内容和更多内容.