【问题标题】:Can't run API from other device on windows server(RDP) based GoLang无法在基于 Windows 服务器(RDP)的 GoLang 上从其他设备运行 API
【发布时间】:2019-07-07 09:17:12
【问题描述】:

我有基于端口 1195 的 API GoLang,我想从其他设备运行它。我试过了,它可以在 localhost 上使用 Postman 运行 API。

但是当我尝试从其他设备访问 API 时,它不起作用,也就是无法连接。

P.S:我的 8080 端口可以访问其他设备,但我的 1195 无法访问 已允许 1195 端口的防火墙。尝试更改端口,但仍无法在其他设备上连接

这是我的 config.ini:

{
    "app_name"       : "HELLOWORLD_API",
    "listening_port" : "1195",
    "host"           : "127.0.0.1",
    "port"           : "3306",
    "user"           : "root",
    "passwd"         : "",
    "dbname"        : "kube71"
}

我希望在允许端口 1195 后,我可以从其他设备连接到 API。

【问题讨论】:

    标签: go server port rdp


    【解决方案1】:

    尝试以下配置:

    { "app_name" : "HELLOWORLD_API", 
      "listening_port" : "1195", 
      "host" : "0.0.0.0", 
      "port" : "3306",
      ...
    }
    

    基本上,将 127.0.0.1 更改为 0.0.0.0。

    要了解更多信息,请查看https://superuser.com/questions/949428/whats-the-difference-between-127-0-0-1-and-0-0-0-0

    简单地说,0.0.0.0 意味着它可以从所有网络连接,而不仅仅是本地

    【讨论】:

    • 试过改了还是连接不上,难道main.exe不是windows服务? bcs 我的 8080 是 apache 和 3306 mysql 在 windows 服务上注册。
    • 不,它不是因为“它不是服务”。你检查过你的防火墙吗?您的网络设置等?
    • 我允许 1195,我设置它就像我设置我的 8080 (apache)
    • 如何在代码中使用该配置?你能展示一下你是如何创建服务器监听器的吗?
    • func main() { fileConfig := flag.String("f", "e_channel.ini", "config file") flag.Parse() config, err := config_db.LoadConfig(* fileConfig) if err != nil { fmt.Println(err.Error()) } db := config_db.Connectdb(config) inDB := &controller.DB{DBE: db} r := gin.Default() fmt.Println ("监听端口" + config.ListeningPort) r.Run(":" + config.ListeningPort) }
    猜你喜欢
    • 2020-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-18
    • 2022-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多