스택큐힙리스트

외부 로컬 네트워크에서 FastAPI 서버를 사용 가능하게 하는 방법은 어떻게 하나요? 본문

카테고리 없음

외부 로컬 네트워크에서 FastAPI 서버를 사용 가능하게 하는 방법은 어떻게 하나요?

스택큐힙리스트 2023. 11. 6. 07:51
반응형

처음으로 FastAPI를 사용하여 작은 API를 개발하고 있습니다.
앱을 실행하기 위해 uvicorn을 사용하고 있습니다.


다음과 같이 사용하면:


$ uvicorn main:app --host 0.0.0.0

내 네트워크 내에서 앱에 접근할 수 있지만 (공용 IP를 사용하여) 외부에서는 접근할 수 없습니다. 이미 방화벽을 확인해 보았으며 완전히 비활성화하는 등의 시도를 해 보았지만 효과가 없었습니다. 앱을 외부 사용자에게 보여주고 싶습니다. 어떻게 해야 할까요?

답변 1

이런 종류의 작업을 수행하는 데는 ngrok 또는 expose와 같은 서비스를 사용하는 것이 더 쉽다고 생각합니다.

답변 2

FastAPI는 빠른 개발과 뛰어난 성능으로 알려진 Python 웹 프레임워크입니다. FastAPI 서버는 로컬 네트워크 외부에서 접근할 수 있도록 설정할 수 있습니다. 이 글에서는 FastAPI 서버를 로컬 네트워크 외부에서 사용할 수 있도록 설정하는 방법을 안내해 드리겠습니다. 이 설정을 통해 빠르고 안전하게 FastAPI 서버를 전 세계 사용자들과 공유할 수 있습니다.
1. 포트 포워딩 설정: FastAPI 서버를 로컬 네트워크 외부로 공개하기 위해서는 라우터나 방화벽에서 포트 포워딩 설정을 해주어야 합니다. 일반적으로 이 작업은 고급 라우터 설정 또는 방화벽 관리자 도구에서 가능합니다. 공개하고자 하는 포트로의 외부 연결을 허용하는 포트 포워딩 규칙을 설정해야 합니다.
2. 퍼블릭 IP 주소 확인: FastAPI 서버가 공개되기 위해서는 로컬 네트워크의 퍼블릭 IP 주소를 알아야 합니다. 이는 서버의 주소로 외부에서 접근할 수 있는 고유한 주소입니다. 인터넷에서 public IP check와 같은 키워드로 검색하여 현재의 퍼블릭 IP 주소를 확인할 수 있습니다.
3. 포트 및 도메인 설정: FastAPI 앱을 실행하는 데 사용되는 포트 번호를 확인해야 합니다. FastAPI 기본 포트는 일반적으로 8000 또는 8080입니다. 이 포트 번호는 서버 앱의 코드에서 확인할 수 있습니다. 서버를 실행하면 개발 로그에 포트 번호가 표시될 것입니다. 도메인 이름을 사용하려는 경우, DNS에 도메인을 등록하고 IP 주소를 연결해야 합니다.
4. 서버 앱 실행: FastAPI 앱을 개발 환경이나 운영 환경에서 실행할 수 있습니다. 서버 앱을 실행하기 위해 터미널에 명령을 입력하면 됩니다. 일반적으로 아래와 같은 명령을 사용합니다.
```
$ uvicorn main:app --host 0.0.0.0 --port 8000
```
위 명령은 `main.py` 파일의 `app` FastAPI 앱을 호스팅하고, 0.0.0.0 IP 주소와 8000 포트를 사용하여 서버를 실행합니다. 코드와 포트 번호는 각자의 설정에 따라 다를 수 있습니다.
5. 서버 액세스: 이제 FastAPI 서버가 로컬 네트워크 외부에서 접근 가능해집니다. 로컬 머신에서 외부 IP 주소 또는 도메인에 액세스하여 서버에 접속할 수 있습니다. 브라우저에서 `http://your_public_ip:8000`과 같이 입력하면 FastAPI 서버에 연결됩니다. 또한, API 클라이언트 앱이나 다른 서버에서도 FastAPI 서버에 요청을 보낼 수 있습니다.
위의 단계를 따라하면 FastAPI 서버를 로컬 네트워크 외부에서 접근 가능하게 설정할 수 있습니다. 이는 FastAPI 앱을 사용하여 빠르고 실시간으로 작업하는 데 큰 도움이 될 것입니다. 사용자의 요구에 맞게 서버의 보안 설정을 강화하면서 전 세계 사용자들과 안전하게 통신할 수 있습니다.

반응형
Comments