访问Golang Web服务器

问题描述 投票:-4回答:2

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

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

go webserver
2个回答
1
投票

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

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

1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.