태그 보관물: SSL

SSL을 적용하고 나서 페이스북 댓글/좋아요가 사라졌을 때

워드프레스 기반 사이트에 SSL을 적용하고 나서 갑자기 페이스북 댓글/좋아요가 사라지는 현상이 발생했다. 원인을 찾기 위해 구글링한 결과, 댓글/좋아요 플러그인을 설치했을 때 적용된 사이트 URL에서 프로토콜이 http에서 https로 바뀌었기 때문. 아무것도 변경하지 않았는데도 이런 문제가 발생해서 처음에는 황당했는데, 결국 워드프레스 사이트에 SSL 적용을 도와주는 플러그인 때문에 발생하는 문제였다.

사람들이 자주 사용하는 Really Simple SSL의 경우에는 functions.php 파일에 다음과 같은 훅 메서드를 추가해서 간단하게 해결할 수 있다는데

function rsssl_exclude_http_url($html) {
  //replace the https url back to http
  $html = str_replace('href="https://domain.com', 'href="http://domain.com', $html);
  return $html;
}
add_filter("rsssl_fixer_output","rsssl_exclude_http_url");

내 경우에는 호스팅 서버에 설치된 PHP 버전 문제 때문에 Really Simple SSL을 사용하지 못하고 One Click SSL을 사용하는지라 결국 플러그인 코드에 손을 대서 급하게 문제를 해결하긴 했다. 즉, 위의 코드처럼 플러그인에서 최종적으로 만들어내는 웹 페이지 문자열에서 페이스북 댓글 플러그인에 해당하는 부분을 수정해서 반환하도록 처리했다.

$html = str_replace('data-href="https://www.domain.com', 'data-href="http://www.domain.com', $html);
return $html;

그나저나 이렇게 했을 때 매번 플러그인이 업데이트될 때마다 이 부분을 다시 수정해야 하는 문제가 남아 있는데, 이 부분은 좀 더 자료를 찾아서 해결책을 찾아야 할 듯.

실험해 본 결과, One Click SSL 플러그인의 경우 functions.php 파일에 다음과 같은 코드를 추가하면 된다.

function rsssl_exclude_http_url($str) {
    $str = str_replace('data-href="https://www.domain.com/', 'data-href="http://www.domain.com/', $str);
    return $str;
}
add_filter("ocssl_replace_output", "rsssl_exclude_http_url");

카페24 호스팅에 무료 SSL 인증서 적용하기

작년에 카페24에 호스팅 중인 사이트에 SSL을 적용하려고 알아본 적이 있는데, 외국에서 저렴하게 구입할 수 있는 SSL 인증서를 적용하기가 까다롭고 SSL 기본 포트인 443번을 지원하지 않아서 포기한 적이 있다. 그러다가 올해 다시 알아보니 기본 포트를 쓸 수 있다고 해서 알아보고 시험 삼아 아래 사이트에서 무료로 제공하는(그렇지만 3개월짜리 무료 인증서는 도메인별로 딱 한 번만 구입할 수 있다) 인증서를 설치했다.

카페24에 SSL을 적용하기 위해 검색해 보다가 아래 글이 아주 친절하게 설명하고 있어서 참고했다.

5월에 무료 인증서가 만료되기 전에 다시 위 글을 참고해서 2년짜리로 구매할 예정이다. 2년짜리라고 해도 $12.75 정도밖에 안 된다.