访问Golang Web服务器

时间:2018-02-22 04:20:22

标签: go webserver

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

我的问题是,如何将golang应用设置为公开访问,而无需外部Web服务器?

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

您无需更改应用程序的任何内容,只需打开服务器防火墙中的端口并将http.ListenAndServe中的IP更改为0.0.0.0(或完全放弃),例如:{{1} }