gpt4 book ai didi

http.ListenAndServe 仅适用于本地主机?

转载 作者:IT王子 更新时间:2023-10-29 00:55:24 26 4
gpt4 key购买 nike

我已经成功地利用了

http.ListenAndServe(":80", mux)

在 Go 中托管我的 Web 服务。然而,它似乎只适用于本地主机。

http.ListenAndServe("192.168.1.83:80", mux)

这适用于该地址上的特定连接,但有没有办法让它适用于服务器上的任何 IP 地址?

编辑:

我已经使用不同的端口(在本例中为 8080)对其进行了检查,然后使用“:8080”按记录工作。即使在同一台机器上测试时,端口 80 似乎也有一些特别之处,这意味着它实际上只在本地主机上监听。

为避免疑义,我使用的是 Windows,所有测试都是在同一台物理机器上完成的。我还检查过以管理员权限运行,这没有任何区别。

最佳答案

http.ListenAndServe(":80", mux) 是正确的地址。 net/http使用 net包裹。引自 net.Listen() :

If host is omitted, as in ":8080", Listen listens on all available interfaces instead of just the interface with the given host address. See Dial for more details about address syntax.

知道端口 80 在许多系统上受到限制或可能被防火墙阻止。在 1024 以下的 unix 系统端口通常需要特殊权限。以测试8080端口为例,因为这种方式并不特殊。

关于http.ListenAndServe 仅适用于本地主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40063120/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com