개발 기록
122118 TIL (Clodfront와 Route53 연동 & 스프링 시큐리티) 본문
-프론트 배포!
-s3 만들어서
정적 웹 사이트 호스팅 활성화 / 권한 퍼블릭 / 버킷 정책 생성 해주고 프론트 파일 업로드
-cloudfront 배포 생성해서 s3와 연결해주고 배포 도메인 이름을 입력하면 사이트가 뜬다.
-cloudfront 설정
대체 도메인 이름(CNAME) (서브도메인까지 사용할 경우 다 써줘야함-인증서 만들때 넣은 도메인 모두)
사용자 정의 SSL 인증서 (cloudfront 는 버지니아 리전의 인증서 사용)
이건 필수조건인지는 모르겠는데 리액트 사용했을 경우 cloudfront 배포 오류페이지를 설정해준다
삭제해도 사이트가 잘 뜨는 것 보면 꼭 해야하는 것은 아닌듯
-route53
해당 도메인 호스팅영역에서 레코드 생성
레코드 이름 : 연결할 도메인 (ex.. www.~~.com, *.~~.com )
값 : cloudfront 배포 도메인 이름
**하면서 놓쳤던 것 : ACM 생성할때 서브도메인 까지 다 써주기
**신기했던 것 : 적용하는 도메인이 동일하면 리전이 달라도 acm의 CNAME이름이랑 값은 똑같다. (인증서 id는 다름)
스프링 시큐리티 적용시 빼먹은 것
AuthenticationManager 관련 에러가 떴을때 해결방법 코드로 검색된 것을 어디에 추가해줘야할 지 몰랐다
WebSecurityConfigurerAdapter 클래스에 오버라이드 해줘야한다는데 WebSecurityConfigurerAdapter클래스는 읽기밖에 못하는데 어디에.>!?! 했는데
만들어줬던 WebSecurityConfig클래스에 추가해주면 되는 거였다. WebSecurityConfig는 WebSecurityConfigurerAdapter 클래스를 상속받고 있었다.
@RequiredArgsConstructor
@Configuration
@EnableWebSecurity // 스프링 Security 지원을 가능하게 함
@EnableGlobalMethodSecurity(securedEnabled = true)
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
private final JwtAuthenticationEntryPoint jwtAuthenticationEntryPoint;
private final JwtAuthenticationFilter jwtRequestFilter;
@Override
@Bean
public AuthenticationManager authenticationManagerBean() throws Exception {
return super.authenticationManagerBean();
}
}