FastAPI
一个细节
当使用如上 uvicorn 启动 host 一般会使用如下设置
但是偶然发现
使用 localhost 时出现
[Errno 99] error while attempting to bind on address ('::1', 18019, 0, 0): cannot assign requested address
同时使用 127.0.0.1
不能被局域网的其他主机(ipv4)访问
关于 localhost chatgpt的回答是
这个错误通常是由于尝试绑定到 IPv6 的地址 '::1' 导致的。IPv6 的回环地址 '::1' 在某些系统上可能无法正常工作,尤其是在没有配置 IPv6 的情况下。您可以尝试明确指定使用 IPv4,如下所示:
这样会将应用程序绑定到所有可用的网络接口上,包括 IPv4。如果您只希望绑定到特定的 IPv4 地址上,可以将 host 参数设置为您想要的 IPv4 地址。
关于 127.0.0.1
127.0.0.1
是一个特殊的地址,代表本地主机的回环地址,只能在本地计算机上使用。其他主机无法通过局域网访问另一台主机的127.0.0.1
。如果您希望通过局域网访问您的应用程序,请使用计算机在局域网中的实际 IP 地址,而不是127.0.0.1
。您可以使用ipconfig
(Windows)或ifconfig
(Linux/macOS)命令来查看您的计算机在局域网中的 IP 地址,并将应用程序绑定到该地址上。