FastAPI 如何使 FastAPI 服务器可在本地网络外访问

您所在的位置:网站首页 服务器ip访问不了网络 FastAPI 如何使 FastAPI 服务器可在本地网络外访问

FastAPI 如何使 FastAPI 服务器可在本地网络外访问

2024-05-11 12:43| 来源: 网络整理| 查看: 265

FastAPI 如何使 FastAPI 服务器可在本地网络外访问

在本文中,我们将介绍如何配置 FastAPI 服务器使其可以从本地网络外进行访问,并提供一些示例说明。

阅读更多:FastAPI 教程

为何需要使 FastAPI 服务器外部可访问?

通常情况下,FastAPI 服务器只能在本地网络内进行访问,即只能通过本地 IP 地址或 localhost 进行访问。但在某些场景下,我们可能需要使 FastAPI 服务器可以从本地网络外进行访问。例如,我们可能需要演示一个基于 FastAPI 的应用给客户或他人查看,或者我们需要在我们的应用中集成一些外部服务。

配置 FastAPI 服务器使其外部可访问的步骤

要使 FastAPI 服务器可从本地网络外进行访问,我们需要执行以下步骤:

1. 获取本地网络 IP

首先,我们需要获取我们服务器所在设备在本地网络中的 IP 地址。通常,我们可以在网络设置或控制面板中找到这些信息。确保获取到的 IP 地址是准确的,并记下该 IP 地址备用。

2. 修改 FastAPI 服务器的绑定地址

默认情况下,FastAPI 服务器将绑定到本地 IP 地址(例如 127.0.0.1)或 localhost。我们需要修改服务器的绑定地址,使其绑定到获取到的本地网络 IP 地址。

我们可以使用以下代码片段将 FastAPI 服务器绑定到本地网络 IP:

from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"} if __name__ == "__main__": import uvicorn uvicorn.run(app, host="your_local_network_ip", port=8000)

在上述代码中,将 your_local_network_ip 替换为第一步获取到的本地网络 IP 地址。这将使 FastAPI 服务器监听该 IP 地址上的请求。

3. 配置网络防火墙和路由器

接下来,我们需要确保我们的网络防火墙和路由器允许从外部访问该本地网络 IP 地址的请求。这通常涉及在网络防火墙中添加入站规则以及在路由器上进行端口转发。

具体的配置步骤可能因网络设备和操作系统而有所不同,建议查阅相关设备和操作系统的文档以获取详细的配置指南。

示例

假设我们的本地网络 IP 地址是 192.168.1.10,我们使用默认的 FastAPI 示例项目。

我们可以使用以下代码将 FastAPI 服务器绑定到本地网络 IP:

from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"} if __name__ == "__main__": import uvicorn uvicorn.run(app, host="192.168.1.10", port=8000)

保存以上代码为 main.py, 然后在终端中运行以下命令启动服务器:

$ uvicorn main:app --reload

现在,我们可以通过访问 http://192.168.1.10:8000 来从外部网络访问 FastAPI 服务器,并获得 {"Hello": "World"} 的响应。

总结

通过修改 FastAPI 服务器的绑定地址并配置网络防火墙和路由器,我们可以使 FastAPI 服务器可以从本地网络外进行访问。这对于演示和集成一些外部服务非常有用。在实际应用中,请注意安全性和适当的访问权限设置,以保护服务器和数据的安全。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3