[swagger] Failed to fetch. Possible Reasons: CORS, Network Failure, URL scheme must be "http" or "https" for CORS request
Curl 명령어 확인해보니 https가 아닌 http 로 요청이 갔음을 확인할 수 있었다.
실행하고 있는 서버는 HTTPS 인데 HTTP로 요청을 보내서 발생한 문제이다.
CORS에 대해 정리 잘 해두신 블로그 첨부)
🌐 악명 높은 CORS 개념 & 해결법 - 정리 끝판왕 👏
악명 높은 CORS 에러 메세지 웹 개발을 하다보면 반드시 마주치는 멍멍 같은 에러가 바로 CORS 이다. 웹 개발의 신입 신고식이라고 할 정도로, CORS는 누구나 한 번 정도는 겪게 된다고 해도 과언이
inpa.tistory.com
Swagger 설정을 바꿔주면 된다
serverUrl을 active profile (local, prod 마다 다르게 설정하도록 하였다)
@Configuration
public class SwaggerConfig {
@Value("${swagger.url}")
private String serverUrl;
@Bean
public OpenAPI springOpenApi() {
return new OpenAPI()
.components(createComponents())
.addServersItem(createServer());
}
private Server createServer() {
return new Server().url(serverUrl);
}
}