【问题标题】:Accessing Golang Web Server访问 Golang Web 服务器
【发布时间】:2018-08-01 20:12:58
【问题描述】:

我知道 Golang 包含本机内置 Web 服务器(net/http),可以用作服务器而无需使用外部 Web 服务器(apache、nginx 等)。对于本地开发,您只需运行http.ListenAndServe,您的服务器就可以在本地准备好。

我的问题是,如何在不需要外部网络服务器的情况下设置您的 golang 应用以供其他人公开访问?

【问题讨论】:

  • 您调用http.ListenAndServe 并在防火墙中打开端口?你有什么问题?请显示失败的代码。
  • 它和其他服务器一样,你打开你想托管的端口。

标签: go webserver


【解决方案1】:

在您的 golang 代码中,除了指定应用程序侦听的端口外,您无需执行任何其他操作。设置端口后(例如:8080),您需要执行以下操作以使其可访问:

  • 如果您希望您的应用程序可以在内部访问(LAN/WLAN),请检查您的私有 IP 地址,然后从您内部网络中的任何其他设备访问它。例如,您的私有 IP 是 10.50.50.10,然后使用您在应用程序中指定的端口访问它:10.50.50.10:8080
  • 如果您希望您的应用程序可以公开访问 (WAN),请检查您的公共 IP。首先,您需要确保您的应用程序用于侦听的端口。设置你的防火墙,让端口开放供公众访问。然后你必须转发路由器中的端口。端口转发是为了让对您设置的公共 IP 和特定端口的任何请求转发到您设备的 IP(私有 IP)和您的应用程序侦听的端口。搜索您使用的特定操作系统和路由器的端口转发以获取更多信息。

【讨论】:

    【解决方案2】:

    您不需要对应用程序进行任何更改,只需在服务器防火墙中打开端口并将 http.ListenAndServe 中的 IP 更改为 0.0.0.0(或直接将其完全释放),例如:http.ListenAndServe(":80")

    【讨论】:

      猜你喜欢
      • 2010-11-03
      • 2014-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多