最近看了Go语言的后端框架,简单看了看GIN框架。
但是在写demo程序的时候,每次运行生成exe文件都会除非防火墙,实在麻烦,通过查阅各种网页资料,已经解决。

问题关键就在于GIN框架下,每次用r.run('8080')启动,这其实使用了0.0.0.0:8080(0.0.0.0代表本机上任何IP地址)

修改为:r.Run("127.0.0.1:8080")或者r.Run("loaclahost:8080")即可

gin-firewall.jpg

main.go文件为:

package main

import "github.com/gin-gonic/gin"

func main() {
    gin.SetMode(gin.DebugMode)

    // 创建一个 Gin 引擎
    r := gin.Default()

    // 定义一个路由
    r.GET("/", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "Hello, Gin!!!!",
        })
    })

    // 启动服务
    r.Run("127.0.0.1:8080")
}

【注】:如果需要部署在服务器上,可能还是需要r.Run(),默认监听服务器全部地址。因为localhost和127.0.0.1都是本地地址,部署到服务器还是需要使用服务器的IP地址的

参考:
解决Mac上Gin服务每次Build后都会弹出【你要应用程序“main”接受传入网络连接吗?】