화이팅...
api와 erd에 대해 피드백을 받았는데 정신이 번쩍들었다... 지적을 받고나니 그제서야 내가 왜 그렇게 코드를 짰는지 의문이 들었다. 내가 왜 그렇게 했지...? 어차피 리팩토링도 해야했는데 좀 더 시간을 투자해서 고민할 것만 빼고 얼른 정신차리고 수정해야겠다.
배포한 프론트엔드와 백엔드에 https 인증서를 달아주기 위해 aws certificate manager 인증서를 발급받았다.
eb 로드밸런서에 443포트로 인증서를 추가해주면 되는데 계속 인증서가 안떴다. 이유는 리전때문에...ㅠㅠ 시간 엄청 버렸는데 어쨌든 해결했지만 이해가 안되는게 한가지 있다.
cloud front의 ssl인증서는 버지니아 북부 리전에 있어야 하는데 내가 만든 eb는 서울에서 만든거라 eb에서 적용하려고 하면 안뜨는 거였다.
서울 리전으로 새로만든 ssl 인증서로 적용했다. 그런데 ssl 인증서를 만들때 리전이 달라도 도메인이 같으면 cname이 같아서 서로 잘 적용되는 것 같았다. 이건 내일 튜터님께 다시 여쭤봐야지
이건 프론트엔드와 백엔드 배포를 성공하고 테스트했을때 뜬 오류다.
이건 프론트엔드고
이건 백엔드
클라이언트(localhost:63342)에서 서버(localhost:8080)의 리소스를 참고했기 때문에 cors에러가 났다. 왜냐하면 클라이언트 측에서는 기본적으로 URL이 다른 리소스를 참고하는 것을 막고 있기 때문이다.
@Configuration
public class WebConfig implements WebMvcConfigurer {
//cors 오류 해결
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods("GET", "POST", "PUT", "DELETE");
}
}
.antMatchers(HttpMethod.OPTIONS, "/**/*").permitAll()
이렇게 추가해주면 해결된다
리팩토링(url 수정, post중 get으로 바꿔야하는 거 수정)