我正在开发一个svelte应用程序,它使用FastAPI后端与我的组织本地的PostgreSQL数据库交互,而不是在我的AWS EC2实例上。
我使用 javascript 的 fetch api 向我的后端发送请求,以查询数据库中的各种内容,在我的本地计算机上,所有这些请求都会在两端收到,但在 AWS 上,来自我前端的请求甚至无法被 fastAPI 后端识别。
我对设置这样的服务器相当缺乏经验,所以我认为我在设置这些服务器时存在一些基本错误,导致它们在 AWS 上无法进行通信。
fastapi 代码如下所示:
import uvicorn
from fastapi import (Depends, FastAPI, HTTPException, Query,
Request)
from fastapi.middleware.cors import CORSMiddleware
app = FastAPI(debug=True)
origins = [
'*'
]
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
@app.get("/")
async def root():
return {"message": "Hello World"}
if __name__ == '__main__':
uvicorn.run(app, host="0.0.0.0", port=8000)
Run Code Online (Sandbox Code Playgroud)
我的获取请求通常如下所示:
const endpoint = public_IP:8000 + `/`;
let objs = [];
fetch(endpoint)
.then(response => {
if (!response.ok) {
throw …
Run Code Online (Sandbox Code Playgroud)