EC2에 배포를 하고 요청을 하니 스웨거의 기본 요청이 http인 것을 발견..
본 ec2는 nginx로 https SSL 발급을 하였다.
그래서 스웨거 설정에서 https를 바라보게 해줘야한다.
@Configuration
@OpenAPIDefinition(
info = @io.swagger.v3.oas.annotations.info.Info(title = "연차시스템 API 명세서",
description = "연차 시스템 API 명세서", version = "v1")
)
public class SwaggerConfig {
@Profile("dev")
@Bean
public OpenAPI devOpenAPI() {
...
return new OpenAPI()
.info(info)
.addSecurityItem(securityRequirement)
.addServersItem(new Server().url("http://localhost:8080").description("Development server (HTTP)"))
.components(components);
}
@Profile("prod")
@Bean
public OpenAPI prodOpenAPI() {
...
return new OpenAPI()
.info(info)
.addSecurityItem(securityRequirement)
.addServersItem(new Server().url("https://본인도메인"))
.components(components);
}
}
처음엔 분리를 안하니 로컬에서 돌릴때 내 ec2로 요청이 갔었다.
그래서 프로파일을 기준으로 분리를 하였다.
그리고 실행 시 도커파일에서 prod 프로파일로 실행을 하게 명령어를 바꿔줬다.
# Amazon Corretto 17 (JDK) 이미지를 기반으로 사용
FROM amazoncorretto:17-alpine
# 작업 디렉토리 설정
ARG JAR_FILE=build/libs/*.jar
COPY ${JAR_FILE} app.jar
# 애플리케이션 실행 포트 노출
EXPOSE 8080
# 애플리케이션 실행 명령어
CMD ["java", "-jar", "-Dspring.profiles.active=prod", "/app.jar"]
설정을 바꾸고 다시 배포를 하니 스웨거가 https 프로토콜로 서버에 요청을 하는게 보였다.
'Spring > 프로젝트' 카테고리의 다른 글
연차 신청, 관리 시스템 만들기 #14 완성...? (0) | 2024.10.14 |
---|---|
연차 신청, 관리 시스템 만들기 #13 logback.xml 설정, 로그 cloudwatch로 전달, 디스코드로 알람 설정 (0) | 2024.09.20 |
연차 신청, 관리 시스템 만들기 #11 인프라 구축 (0) | 2024.09.06 |
연차 신청, 관리 시스템 만들기 #10 로그인에 캐시를 써보자 (0) | 2024.07.30 |
연차 신청, 관리 시스템 만들기 #9 공공데이터포털 국세청_사업자등록정보 진위확인 및 상태조회 서비스 OpenAPI 이용하기 (Vue (0) | 2024.06.12 |