fastapi 和 uvicorn 设置监听 ipv6
启动程序时我们一般写的是
1 | uvicorn.run(app, host="0.0.0.0", port=8000) |
---|
但是这样子启动的程序在纯 ipv6 或者双栈(同时有 ipv4 和 ipv6)的机子上使用 ip(v6):port 访问是访问不到的,所以我们需要更改启动方式。
直接参考GitHub的一个讨论,最佳答案是这个
想要监听 ipv6 就写成
1 | uvicorn.run(app, host="::", port=8000) |
---|
监听双栈写成
1 | uvicorn.run(app, host=None, port=8000) |
---|