Я создал проект в Go, используя джин, и он отлично работает локально. Однако когда я попытался развернуть это на экземпляре EC2 на AWS, мне не удалось получить доступ к API на сервере.
Я сделал ssh на размещенной машине и дал запрос на завивку (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")
}