Spring Security에 SSL 적용

- 보통 SSL 적용시 로그인이나 중요한 구간만 적용하는데 여기서는 전체 시스템에 적용을 하려고 함.

- 방화벽에서 443 포트만 개방하고 80은 막는 것을 추천
대외기관과 연계하는 부분이 있는데, 이 곳은 방화벽에서 예외 정책을 두면 된다.
(80 포트가 노출된다고 하니 80이 아닌 다른 포트로 개방)

- 그런데 80 포트를 막으면 공지를 해도 사용자들이 혼란스러워 한다고해서 http로 접근한 사용자들을 자동으로 https로 전환시켜 달라고 함.

Spring Security가 적용되어 있어서 접근가능한 경로에 https로 설정했다. 처음에는 /board/list 로 접근시 http를 사용하면 접근이 거부되는 줄 알았지만 친절한 Spring Security가 https로 전환시켜 준다.             [todo] 이 원리 포스팅 글 연결

- 어떤 이유인지는 모르지만 첫 화면에서 http 로 접근시 javascript로 location을 https로 해서 이동시키자는 의견이 있었음.
어플리케이션에 변경이 생김.
그러나 이런 정책에 따라 어플리케이션이 변경되는 것은 바람직하지 않다.

Spring Security의 / 에 any로 적용되어 있는 것을 https로 해서 처리함.

- 보안에 관련된 다양한 요구사항을 Spring Security로 손쉽게 처리할 수 있어서 좋다. 적극적으로 도입하자.
인프라의 변화를 어플리케이션에서 처리하려고 하면 안됨.