[Spring] 운영서버에서 Swagger 막는 법

코린이·2025년 3월 16일

조간만 지금까지 만들어왔던 학점가방 서비스를 배포할 예정이다.
배포 준비를 하면서 보안적인 부분을 하니씩 점검하고 있다. 해당 서비스는 Swagger를 사용해서 개발하고 있으며 API문서를 관리하기 위해 Swagger를 사용했다.
하지만 실제로 배포를 할려고 하니 운영서버에서 우리 팀 개발자뿐만 아니라 서비스를 이용하는 유저도 Swagger 엔드포인트가 노출 될 수도 있겠다는 우려가 생겼다. 그래서 운영서버에서 Swagger 접속을 막기 위한 방법이 필요했다.

프로파일을 통한 Swagger 노출 여부 결정

우리 팀은 다양한 방법들 중 프로파일별로 Swagger 노출 여부를 결정하기로 하였다.
우리는 로컬, 개발, 운영 서버마다 각기 다른 application.yaml을 생성하여 사용하고 있다.

그렇기에 각 프로파일별로 필요한 Swagger 노출 여부를 결정하면 문제가 쉽게 해결될 것이라고 생각했다.
저 중에서 운영서버에 사용되는 application-prod.yaml에 아래 코드를 추가해서 운영서버에서는 Swagger에 접속할 수 없도록 막았다.

springdoc:
  swagger-ui:
    enabled: false


이렇게하면 Swagger UI가 비활성화 되면서 사용자가 Swagger에 접속하는 것을 막을 수 있다.

profile
호기심이 많고, 문제를 끝까지 해결하려는 집념이 강한 개발자입니다.

0개의 댓글