首页 >后端开发 >Python教程 >如何从同一本地网络上的不同计算机访问我的 FastAPI 后端?

如何从同一本地网络上的不同计算机访问我的 FastAPI 后端?

DDD
DDD原创
2024-12-01 09:07:11540浏览

How to Access My FastAPI Backend from a Different Machine on the Same Local Network?

如何从同一本地网络上的不同机器/IP 访问 FastAPI 后端?

在不同机器上运行 FastAPI 后端和 Next.js 前端时同一本地网络,从前端访问后端可能会遇到问题。

将主机标志设置为0.0.0.0

要允许来自不同机器的访问,请在 uvicorn 命令中将主机标志设置为 0.0.0.0:

uvicorn main:app --host 0.0.0.0 --port 8000

这允许后端监听该主机的所有 IPv4 地址本地计算机。

调整防火墙设置

确保防火墙允许外部访问指定端口。为 Python 创建入站防火墙规则,通常在允许 Python 通过防火墙进行通信时自动添加。

调整 CORS 设置

配置 CORS 中间件以启用跨源请求:

origins = ['http://localhost:3000','http://192.168.178.23:3000']

app.add_middleware(
    CORSMiddleware,
    allow_origins=origins,
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

在 JavaScript 中发出 HTTP 请求

在 JavaScript 获取请求中,使用与输入相同的域名浏览器的地址栏,以及后端的端口号:

fetch('http://192.168.178.23:8000/people', {...

在同一台计算机上本地测试时,使用带有正确域名的 fetch (例如,http://127.0.0.1:8000/people )或相对路径(例如“/people”),当前端和后端都在相同的端口和 IP 上运行时。如果前端的来源与后端不同,请将其添加到 CORS 设置中。

以上是如何从同一本地网络上的不同计算机访问我的 FastAPI 后端?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn