FastAPI 백엔드와 Next.js 프런트엔드를 다른 시스템에서 실행할 때 동일한 로컬 네트워크를 사용하는 경우 프런트엔드에서 백엔드에 액세스하면 문제가 발생할 수 있습니다.
다른 시스템에서의 액세스를 허용하려면 uvicorn 명령에서 호스트 플래그를 0.0.0.0으로 설정합니다.
uvicorn main:app --host 0.0.0.0 --port 8000
이렇게 하면 백엔드가 시스템의 모든 IPv4 주소를 수신할 수 있습니다. 로컬 컴퓨터.
방화벽이 지정된 포트에 대한 외부 액세스를 허용합니다. Python용 인바운드 방화벽 규칙을 생성합니다. 일반적으로 Python이 방화벽을 통해 통신할 수 있을 때 자동으로 추가됩니다.
교차 출처 요청을 활성화하도록 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 가져오기 요청에서 입력한 것과 동일한 도메인 이름을 사용하세요. 백엔드의 포트 번호와 함께 브라우저의 주소 표시줄:
fetch('http://192.168.178.23:8000/people', {...
동일한 머신에서 로컬로 테스트할 때 올바른 도메인 이름(예: http://127.0.0.1:8000/people)을 사용하여 가져오기를 사용하세요. ) 또는 상대 경로(예: '/people')는 프런트엔드와 백엔드가 모두 동일한 포트와 IP에서 실행되는 경우입니다. 프런트엔드의 출처가 백엔드의 출처와 다른 경우 CORS 설정에 추가하세요.
위 내용은 동일한 로컬 네트워크에 있는 다른 컴퓨터에서 내 FastAPI 백엔드에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!