为了账号安全,请及时绑定邮箱和手机立即绑定

gin-gonic 无法分配请求的地址

gin-gonic 无法分配请求的地址

Go
慕田峪7331174 2023-05-04 17:00:15
所以我目前正在使用 gin-gonic 包在 go 中构建一个 restful api。我希望将代码部署到谷歌云平台计算引擎 VM。当我在我的本地机器上运行代码时,它使用本地主机工作,但是当在指定外部 IP 的实际 VM 实例上运行它时,我收到 TCP 连接的绑定错误。任何帮助表示赞赏。服务器.gopackage mainimport (    "encoding/json"    "io/ioutil"    "net/http"    "os"    "github.com/gin-gonic/gin")type headlines struct {    Author      string    Title       string    Description string    Url         string    UrlToImage  string    PublishedAt string    Content     string}type NewsResponse struct {    Status       string    TotalResults int    Articles     []headlines}func GetSourceHeadlines(source string) NewsResponse {    newsAPIKey := os.Getenv("NEWS_API_KEY")    var newsResponse NewsResponse    resp, err := http.Get("https://newsapi.org/v2/top-headlines?sources=" + source + "&apiKey=" + newsAPIKey)    if err != nil {        panic(err)    }    defer resp.Body.Close()    if resp.StatusCode == http.StatusOK {        bodyBytes, _ := ioutil.ReadAll(resp.Body)        err := json.Unmarshal(bodyBytes, &newsResponse)        if err == nil {            return newsResponse        }    }    return newsResponse}func main() {    r := gin.Default()    r.GET("/headlines/ign", func(c *gin.Context) {        c.JSON(http.StatusOK, GetSourceHeadlines("ign"))    })    r.GET("/headlines/polygon", func(c *gin.Context) {        c.JSON(http.StatusOK, GetSourceHeadlines("polygon"))    })    r.GET("/headlines/techcrunch", func(c *gin.Context) {        c.JSON(http.StatusOK, GetSourceHeadlines("techcrunch"))    })    r.GET("/headlines/hacker-news", func(c *gin.Context) {        c.JSON(http.StatusOK, GetSourceHeadlines("hacker-news"))    })    r.Run("35.237.89.107:8080")}
查看完整描述

2 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

你只能听本地主机,然后通过你主机的 ip 访问,比如35.237.89.107:8080.

使用

r.Run(":8080")

0.0.0.0没有必要。


查看完整回答
反对 回复 2023-05-04
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

您需要使用0.0.0.0而不是您当前使用的 on.Run()语句。通过使用0.0.0.0,可以从可用的网络接口访问服务器。

r.Run("0.0.0.0:8080")

因此从外部 IP 访问35.237.89.107:8080将指向您的应用程序。



查看完整回答
反对 回复 2023-05-04
  • 2 回答
  • 0 关注
  • 101 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信