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

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

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