> 백엔드 개발 > 파이썬 튜토리얼 > 동일한 로컬 네트워크에 있는 다른 컴퓨터에서 내 FastAPI 백엔드에 액세스하는 방법은 무엇입니까?

동일한 로컬 네트워크에 있는 다른 컴퓨터에서 내 FastAPI 백엔드에 액세스하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-12-01 09:07:11
원래의
474명이 탐색했습니다.

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', {...
로그인 후 복사

동일한 머신에서 로컬로 테스트할 때 올바른 도메인 이름(예: http://127.0.0.1:8000/people)을 사용하여 가져오기를 사용하세요. ) 또는 상대 경로(예: '/people')는 프런트엔드와 백엔드가 모두 동일한 포트와 IP에서 실행되는 경우입니다. 프런트엔드의 출처가 백엔드의 출처와 다른 경우 CORS 설정에 추가하세요.

위 내용은 동일한 로컬 네트워크에 있는 다른 컴퓨터에서 내 FastAPI 백엔드에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿