반응형
728x170
## Vault 헬스체크 경로
(상태검사 307 발생시, 경로 설정 할것!!)
vault health check path : /v1/sys/health
FastAPI로 API를 제작하고 테스트 하면서
나는 분명히 한 번만 요청했는데 제대로 요청을 받았다는 200OK 응답이 나오기 전에
> 307 temporary redirect위 코드를 복사하려면 여기를 클릭하세요.
위와 같이 307 temporary redirect 라는 메세지가 한 번 나오고 나서 200OK가 나올 경우가 있습니다.
이 문제의 원인은 본인의 코드에서 endpoint 설정하는 부분을 보면 알 수 있습니다.
@app.post(path="/api/v1/testAPI/", response_model=TestResponse)위 코드를 복사하려면 여기를 클릭하세요.
endpoint 마지막에 "/" (슬래쉬) 가 붙어 있을 경우 redirect 하도록 되어있기 때문에 발생합니다.
_starlette/routing.py:601_
if scope["type"] == "http" and self.redirect_slashes:
if not scope["path"].endswith("/"):
redirect_scope = dict(scope)
redirect_scope["path"] += "/"위 코드를 복사하려면 여기를 클릭하세요.
해결방법은 두 가지 입니다.
방법 1
본인의 코드에서 endpoint 마지막에 붙어있는 슬래쉬를 지워줍니다.
@app.post(path="/api/v1/testAPI/", response_model=TestResponse)
-> @app.post(path="/api/v1/testAPI", response_model=TestResponse)위 코드를 복사하려면 여기를 클릭하세요.
방법 2
바꿔야할 endpoint가 너무 많다면
app = FastAPI()
app.router.redirect_slashes = False위 코드를 복사하려면 여기를 클릭하세요.
app 을 생성한 다음 redirect_slashes를 False로 설정해주어 redirect 되지 않도록 하면됩니다.
출처 : [FastAPI] 307 temporary redirect 해결 방법 (Python) (tistory.com)
반응형
그리드형
'[AWS-FRF] > ELB' 카테고리의 다른 글
[중요][AWS] Internal NLB 연동시 중요사항!! (19) | 2024.09.09 |
---|---|
[참고][AWS] ELB idle timeout !! (83) | 2024.08.16 |
[참고][AWS] ALB, NLB idle timeout, keepalive 차이점, 문제상황 및 해결방법!! (87) | 2024.08.13 |
[참고][AWS] 로드밸런서의 keep-alive 옵션!! (87) | 2024.08.13 |
[중요][서브도메인 생성][EKS] alb-ingress-controller 사용해보기 !! (93) | 2024.08.06 |
댓글