我使用gin在Go中创建了一个项目,它在本地工作正常。但是,当我尝试在AWS上的EC2实例上部署它时,我无法访问服务器上的API。
我在托管计算机上做了一个ssh并发出了一个curl请求(curl localhost:8080
),并给出了正确的响应。但是来自外部的任何请求都无法访问。
服务器在端口8080上运行。我已打开AWS安全组中的端口。
我需要在Go / gin中设置任何可以从互联网访问的设置吗?
示例代码:
package main
import (
"myConstants"
"myDatabase"
"myMiddleware"
"onboarding"
"github.com/gin-gonic/gin"
)
func main() {
var db = myDatabase.DBConnect()
router := gin.Default()
router.Use(myMiddleware.RestrictInputContent)
router.Use(myMiddleware.CheckToken(db))
router.Use(myMiddleware.RequestLoggerMiddleware())
router.POST("/signup", onboarding.Signup(db))
router.POST("/login", onboarding.Login(db))
router.POST("/logout", onboarding.Logout(db))
router.GET("/", onboarding.Hello(db))
defer db.Close()
//Listen and serve
router.Run("127.0.0.1:8080")
}