简介

在使用阿里云服务器部署 fastapi 项目无法通过公网 ip 访问。

问题描述

正常情况下启动 fastapi 后可以通过公网 ip 访问相应接口,但是我在部署后却无法查看接口文档,也不能正常接收外界请求。

但是可以通过 vscode 远程连接后转发再调用接口,这就说明 fastapi 的确正常运行了。

那么我怀疑有可能是防火墙的缘故,但无论是关闭防火墙还是开启防火墙后放行 fastapi 所需要的 8000 端口都无法解决问题。

之后在大佬@Soulter的帮助下,输入

ip a

发现并没有显示公网地址,这也就是问题所在。

解决方法

阿里云服务器都加了一个安全组,相当于又套了一层防火墙,也就是说不仅要在服务器中开启放行,还要在工作台中把服务器的端口放行。

如图,在安全组中放行所有端口,问题解决。