본문 바로가기

https

HTTP에서는 끊기는데 HTTPS에서는 정상이다... 같은 API인데 왜 다를까? 기존에 정상적으로 사용하던 지도 API가 갑자기 제대로 호출되지 않는다는 문의가 들어왔다.지도뿐만 아니라 공간정보를 조회하는 WFS API도 정상적으로 동작하지 않는다고 했다.처음에는 API 서버에 장애가 생긴 줄 알았다.그런데 직접 호출해보니 조금 이상했다.아예 접속이 안 되는 것도 아니었고, 서버에서는 200 OK 응답도 내려왔다.데이터도 실제로 내려오기 시작했다.문제는 잘 받아오다가 중간에 갑자기 연결이 끊긴다는 것이었다.요청 ↓HTTP 200 OK ↓데이터 수신 시작 ↓데이터 일부 수신 ↓연결 종료 처음에는 데이터가 너무 커서 그런가 싶었다.WFS는 이전에도 대용량 데이터를 한 번에 조회하면서 브라우저 메모리를 엄청나게 사용했던 경험이 있었기 때문이다.그런데 이번에는 조금 다른 문제였다.브라우저 .. 더보기
HTTPS로 바꿨는데 HTTP도 접속돼야 한다... 둘 다 사용할 수 있을까? 최근 기존 서비스의 HTTP 요청을 HTTPS로 전환하는 작업을 하고 있었다.외부 API도 HTTPS로 바꾸고 인증서나 TLS 설정도 확인하다 보니, 이번에는 서비스 자체의 HTTP/HTTPS 설정도 보게 됐다.그런데 설정을 보다 보니 한 가지 궁금한 게 생겼다. HTTPS로 전환한다고 해서 HTTP를 무조건 막아야 하나?HTTP와 HTTPS를 둘 다 사용할 수도 있지 않을까? 기존 서비스에 영향을 주지 않으면서 HTTPS도 사용할 수 있어야 하는 경우라면 이 부분을 먼저 확인해야 할 것 같았다.HTTP와 HTTPS를 둘 다 열어두는 건 가능하다처음에는 HTTPS를 적용하면 기존 HTTP 접속을 HTTPS로 무조건 넘겨야 하는 줄 알았다.그런데 HTTP와 HTTPS를 동시에 서비스하는 것 자체는 가능.. 더보기
Java 7에서 HTTPS 호출이 안 된다... TLS 1.2만의 문제가 아니었다 기존에 외부 통계 API를 호출해서 데이터를 받아오는 기능이 있었다.오랫동안 별문제 없이 사용하던 기능이었는데, 어느 날부터 개발 서버에서 API 호출이 정상적으로 되지 않았다.확인해보니 기존에는 HTTP로도 요청할 수 있었지만 이제 HTTPS를 사용해야 하는 상황이었다.처음에는 단순하게 생각했다.URL이 http에서 https로 바뀌어서 그런가? 그런데 URL만 HTTPS로 변경한다고 끝나는 문제가 아니었다.개발 서버는 Java 7을 사용하고 있었다문제가 발생한 개발 서버의 Java 버전을 확인해보니 Java 1.7.0_80이었다.여기서 가장 먼저 의심했던 게 TLS였다.HTTPS 통신을 하려면 클라이언트와 서버가 서로 사용할 수 있는 TLS 버전이 맞아야 하는데, Java 7은 꽤 오래된 버전이다.그.. 더보기