희한한 티스토리의 트랙백 문제

이 블로그는 계속 트랙백 문제가 있었다. 어떨 때는 트랙백이 가지 않는다. 또 이덕에 트랙백으로 동작하는 다음 블로거뉴스 플러그인도 동작하지 않았다. 결국 이 문제는 날 잡아 해결을 봤다. 그런데 또 플러그인이 동작하지 않았다. 이 문제는 블로거뉴스에서 API를 바꾸었기 때문에 발생한 현상으로 역시 직접 패치했다. 그런데 또 트랙백이 동작하지 않았다. 그런데 이번에는 소스를 분석해도 그 원인을 찾을 수 없었다.

결국 트랙백을 마지막으로 보낸 날을 기준으로 이 문제가 '서비스관리/서버'에서 '외부 리소스 사용'을 체크했기 때문에 발생한 문제라는 것을 알았다. 그런데 또 트랙백이 동작하지 않았다. 다만 이번 트랙백은 모든 트랙백이 가지 않는 것이 아니라 티스토리로 보내는 트랙백만 동작하지 않았다. 이 문제는 텍스트큐브 포럼에도 올라왔고 최면님 역시 같은 문제를 호소했다.

결국 어제 문제의 원인을 파악해 봤다. 그런데 문제의 원인을 찾던 중 티스토리에서 조금 이상한 현상을 발견했다. 일단 telnet을 이용해서 트랙백을 보내면 트랙백은 정상적으로 전송된다. 그러나 telnet으로 직접 연결한 뒤 보내면 정상적으로 가는 트랙백이 PHP의 fsockopen 함수를 이용해서 보내면 항상 408 Request Timeout 오류가 발생하는 것이었다.

인터넷을 찾아 봤지만 이 오류에 대한 질문은 있어도 답은 없었다. 그러던 중 어제 저녁 갑자기 의 트랙백이 정상적으로 동작하는 것을 확인했다. 그래서 이 문제는 티스토리 서버의 문제로 봤다. 아울러 서버에서 이 문제가 고쳐진 것으로 생각했다. 그런데 오늘 다시 트랙백을 보내려고 하니 역시 트랙백이 보내지지 않았다. 그래서 어제 시도한 방법을 그대로 다시 시도해 봤다.

그런데 한 가지 재미있는 것은 이 방식으로 하면 잠깐 동안은 트랙백이 간다는 점이다. 일단 어떤 방법으로 트랙백을 보냈는지 확인해 보자. 일단 블로그를 호스팅하고 있는 서버에 다음과 같은 트랙백 전용 프로그램을 만들었다.

<?
$socket = fsockopen('offree.com', 80, $errno, $errstr, 10);
$query=<<<___QUERY___
POST /trackback/473 HTTP/1.1
Host: offree.com
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Content-Length: 2129
Connection: Close

url=http%3A%2F%2Foffree.net%2F2263&title=%EC%A3%BD%EC%9C%BC%EB%A9%B4%20%EC%A0%9C%EB%B0%9C%20%EC%A7%80%EC%98%A5%EC%97%90%20%EA%B0%80%EA%B2%8C%ED%95%B4%EC%A3%BC%EC%84%B8%EC%9A%94&blog_name=%EB%8F%84%EC%95%84%EC%9D%98%20%EC%84%B8%EC%83%81%EC%82%AC%EB%8A%94%20%EC%9D%B4%EC%95%BC%EA%B8%B0&excerpt=%EB%82%B4%EA%B0%80%20%EA%B8%B0%EB%8F%85%EA%B5%90%EC%9D%B8%EB%93%A4%EC%97%90%EA%B2%8C%20%ED%95%AD%EC%83%81%20%ED%95%98%EB%8A%94%20%EC%9D%B4%EC%95%BC%EA%B8%B0%EA%B0%80%20%EC%9E%88%EB%8B%A4.%20%EA%B8%B0%EB%8F%85%EA%B5%90%EC%9D%B8%EB%93%A4%EC%9D%B4%20%EA%B0%80%EB%8A%94%20%EA%B3%B3%EC%9D%B4%20%EC%B2%9C%EB%8B%B9%EC%9D%B4%EB%9D%BC%EB%A9%B4%20%EB%82%9C%20%EC%96%B8%EC%A0%9C%EB%82%98%20%EC%A7%80%EC%98%A5%EC%9D%84%20%ED%83%9D%ED%95%98%EA%B2%A0%EB%8B%A4.%20%EB%82%B4%EA%B2%8C%20%EC%B2%9C%EB%8B%B9%EC%9D%80%20%EA%B8%B0%EB%8F%85%EA%B5%90%EC%9D%B8%20%EC%97%86%EB%8A%94%20%EA%B3%B3%EC%9D%B4%EB%8B%A4.%20%EA%B8%B0%EB%8F%85%EA%B5%90%EC%9D%B8%EB%93%A4%EC%9D%B4%20%EB%AA%A8%EB%A5%B4%EB%8A%94%20%EA%B2%83%EC%9D%80%20%EC%83%81%EB%8B%B9%ED%9E%88%20%EB%A7%8E%EB%8B%A4.%20%EA%B7%B8%20%EC%A4%91%ED%95%98%EB%82%98%EA%B0%80%20%EB%B0%94%EB%A1%9C%20%EC%97%AD%EC%A7%80%EC%82%AC%EC%A7%80%EB%8B%A4.%20%EC%97%AD%EC%A7%80%EC%82%AC%EC%A7%80%EA%B0%80%20%EB%AC%B4%EC%8A%A8%20%EB%9C%BB%EC%9D%B8%EC%A7%80%20%EB%AA%A8%EB%A5%B4%EB%8A%94%20%EA%B8%B0%EB%8F%85%EA%B5%90%EC%9D%B8%EB%93%A4%EC%9D%B4%20%EB%A7%8E%EC%9D%80%20%EA%B2%83%20%EA%B0%99%EC%95%84%20%EB%B6%80%EC%97%B0%20%EC%84%A4%EB%AA%85%ED%95%98%EC%9E%90%EB%A9%B4%20%EC%97%AD%EC%A7%80%EC%82%AC%EC%A7%80%28%E6%98%93%E4%B9%8B%E6%80%9D%E4%B9%8B%29%EB%8A%94%20%EC%B2%98%EC%A7%80%EB%A5%BC%20%EB%B0%94%EA%BF%94%20%EC%83%9D%EA%B0%81%ED%95%98%EB%9D%BC%EB%8A%94%20%EB%9C%BB%EC%9D%B4%EB%8B%A4.%20%EC%9D%B4%EB%9E%98%EB%8F%84%20%EB%AA%A8%EB%A5%B4%EB%8A%94%20%EC%82%AC%EB%9E%8C%EC%9D%B4%20%EC%9E%88%EB%8B%A4%EB%A9%B4%20%EA%B9%80%EA%B1%B4%EB%AA%A8%EC%9D%98%20%EB%85%B8%EB%9E%98%2C%20%ED%95%91%EA%B3%84%EC%9D%98%20%EA%B0%80%EC%82%AC%20%EC%A4%91%20%22%EC%9E%85%EC%9E%A5%20%EB%B0%94%EA%BF%94%20%EC%83%9D%EA%B0%81%EC%9D%84%20%ED%95%B4%EB%B4%90%22%EB%A5%BC%20%EB%96%A0%EC%98%AC%EB%A6%AC%EB%A9%B4%20%EB%90%9C%EB%8B%A4.%20%EC%9A%94%EC%A6%98...
___QUERY___;

fwrite($socket, "$query\r\n");
$res=fread($socket, 10240);
fclose($socket);

echo $res;
?>

소스를 보면 알 수 있지만 fsockopen을 이용해서 offree.com에 소켓 연결한 뒤 HTTP 명세트랙백 명세에 따라 트랙백을 전송하고 그 결과를 화면에 뿌려 주는 간단한 프로그램이다.

  1. 이 프로그램을 웹에서 실행하면 다음 그림처럼 'HTTP/1.1 408 Request Timeout' 메시지가 출력된다.
  2. 프로그램 소스를 POST /trackback/473GET /trackback/473로 바꾼 뒤 다시 실행하면 그림처럼 'HTTP/1.1 302 Moved Temporarily'라는 메시지가 나타난다.
  3. 이 응답은 주소가 /trackback/473에서 /trackback/473?a97ceeb0로 바뀐 것을 말하므로 소스를 GET /trackback/473에서 GET /trackback/473?a97ceeb0로 바꾼 뒤 다시 실행하면 그림처럼 다시 'HTTP/1.1 302 Moved Temporarily'라는 메시지가 나타난다.
  4. 이 상태에서 소스를 GET /trackback/473?a97ceeb0에서 다시 원래의 상태인 POST /trackback/473로 바꾼 뒤 실행하면 다음 그림처럼 트랙백이 정상적으로 전송됐다는 응답 메시지가 나타난다.

일단 이런 단계를 거친 뒤 티스토리에 트랙백을 보내보면 한동안은 트랙백이 정상적으로 간다. 물론 일정 시간이 지나면 다시 트랙백을 보낼 수 없는 상태가 된다. 결국 티스토리에 트랙백을 보내는 것은 이 프로그램을 이용해서 티스토리에 트랙백이 정상적으로 가도록 바꾼 뒤 에서 트랙백을 보내고 있다.

처음에는 의 문제인가 싶어서 다른 무료 호스팅[1]에서 [2]로 트랙백을 보내봤지만 역시 트랙백은 전송되지 않았다. 따라서 카페24의 문제가 아니라 티스토리 서버의 문제로 보이지만 아직까지 이런 현상에 대한 명백한 이유는 알 수 없었다.

참고로 이 과정에서 "URL이 없다"는 메시지(오류 코드 5), "해당하는 글에는 트랙백을 보낼 수 없다"는 메시지(오류 코드 3)도 얻었다. 해당 글에는 트랙백을 보낼 수 없다는 메시지(오류 코드 3)은 같은 글에 같은 트랙백을 보낼 때 발생하는 것[3]으로 봐서 스팸 트랙백을 방지하는 기능으로 보인다.

관련 글타래


  1. Codex.kr이라는 무료 호스팅이다. 월 30G의 전송량을 제공하기 때문에 하루 전송량이 1G 미만인 사람에게는 상당히 유용한 무료호스팅이다. 또 월 전송량을 따지기 때문에 하루 전송량이 1G를 초과해도 사이트가 닫히는 문제는 발생하지 않는다. 마지막으로 제어판을 이용하면 상당히 여러 가지 웹 프로그램을 손쉽게 설치할 수 있는 잇점도 있다. 
  2. Codex.kr에는 도아의 게임이야기(https://gemul.net/)을 호스팅하고 있다. 
  3. 해당 글로 보낸 트랙백을 삭제한 뒤 휴지통까지 비우면 같은 URL의 트랙백을 보낼 수 있다. 
2009/01/29 18:47 2009/01/29 18:47
글쓴이
author image
운영체제의 모든 것을 운영하고 있는 IT 블로거. IT 블로거라는 이름은 현재 시국때문에 시사 블로거로 바뀐 상태다. 그러나 나는 아직도 시사와 사회에 관심이 많은 IT 블로거일 뿐이다. 컴퓨터, 운영체제, 시사, 가족, 여행, 맛집, 리뷰등과 살면서 느끼는 소소한 일상이 블로그의 주제이다. 왼쪽의 아이콘은 둘째 딸 다예가 그린 내 모습이다.
오늘의 글
인기있는 글
조회수 많은 글 | 베오베
댓글 많은 글 | 베오베

Trackback

Trackback Address :: http://offree.net/trackback/2268

  1. Subject : 희한한 티스토리의 트랙백 문제

    Tracked from ▒ D-Flava.com ▒ 2009/02/02 23:03 del.

    사실 이 블로그는 계속해서 트랙백 문제가 있었다. 어떨 때는 트랙백이 가지 않는다. 또 이덕에 트랙백으로 동작하는 다음 블로거뉴스 플러그인도 동작하지 않았다. 결국 이 문제는 날 잡아 해?

Facebook

Comments

  1. 의리 2009/01/29 19:02

    음 뭔가 전문적이고 깊은 느낌입니다. 전 이런 글을 보면 한없이 약해지는군요.

    perm. |  mod/del. reply.
    • goohwan 2009/01/29 19:22

      전문가인 도아님이 헤쳐놓은길 따라가기만 하면 될듯하네요
      저는 언제나 맘편히 도아님 팁을 유용하게 사용중입니다~ㅋ

    • 도아 2009/01/30 08:16

      텍큐가 컴포넌트 형태로 바뀐 뒤로는 추적하는게 상당히 어렵더군요.

  2. LieBe 2009/01/29 19:41

    제가 종종 방문하는 텍큐 블로그 중 단 한곳이 희안하게 트랙백이 안갑니다.
    그런데 그거이 저만 문제되는게 아니라 대부분의 티스토리 블로거들이 그 텍큐 블로그에만 트랙백이 안되는 겁니다.
    그런데 택큐에서도 티스토리로 트랙백이 안가는 경우도 있나보네요??

    음....그럼 티스토리 문제인가????
    ㄷㄷㄷ

    perm. |  mod/del. reply.
    • 도아 2009/01/30 08:17

      민노씨 블로그를 이야기하는 것 같군요. 이 부분은 제가 확인할 수 있는 방법이 없습니다.

  3. 화군 2009/01/29 19:56

    티스토리로 트랙백을 보내려니 (보니까 제로보드도 안되는 것 같더라고요) 안되서 계속 시도해서 겨우 몇개 보냈는데 또 하려니 되지않았습니다. 그래서 어쩔 수 없이 수동트랙백을 보낸적이 있는데요 ^^; (어제) 구글링해본결과 트랙백추척플러그인인가 스팸관련 도아님께서 써주신 스팸 방지에 문제가있는 듯 하네요.

    perm. |  mod/del. reply.
    • 도아 2009/01/30 08:18

      트랙백 추적 플러그인은 예전부터 그런 문제가 있었습니다. 티스토리에서 스팸을 강화하면서 발생한 문제가 아닌가 싶더군요.

  4. 아카사 2009/01/29 20:02

    개인용 위키를 깔고 싶어서 Codex.kr을 찾아갔는데,, 무료호스팅 신청이 안되더군요 ;ㅅ;... 2월까지는 안받는다고 하는것 같던데(.....)

    perm. |  mod/del. reply.
    • 도아 2009/01/30 08:19

      윽,,, 요즘 이벤트를 하던데,,, 대신에 호스팅 신청은 받지 않나보군요.

  5. 화군 2009/01/29 20:14

    아참. 그리고 도아님 블로그도 트랙백이 ... 'EAS' 에 문제가있는듯.

    perm. |  mod/del. reply.
    • 도아 2009/01/30 08:19

      다른 분들의 트랙백은 잘 오더군요. 보낼 수 없다고 메시지가 뜨는 것인가요?

    • 화군 2009/01/30 08:38

      '글을 걸 수 없었습니다.' 라고 뜨는군요.

    • 도아 2009/01/30 09:12

      다른 분들의 트랙백은 잘오고 티스토리에서 거꾸로 받아봐도 잘 오고 있습니다. 휴지통에도 없는 것으로 봐서 EAS 문제도 아닌 것 같은데 이상하군요.

      일단 이 글대로 패치를 해 보시고 트랙백을 다시 보내 보시기 바랍니다.

  6. 공상플러스 2009/01/29 20:59

    근데 댓글 알리미도 도아님 블로그만 동작이 안되던데.. 저만 그런 건가요?

    perm. |  mod/del. reply.
    • 도아 2009/01/30 08:20

      모르겠습니다. 댓글 알리미가 안된다고 하는 분은 없어서요.

  7. 하이컨셉 2009/01/29 22:07

    흠. 아무래도 티스토리 서버의 문제인 것으로 보이네요 ...
    근데, 잡을려면 상당히 골치아파 보이는 군요 ^^;

    읽고 그냥 갈라고 해도, 저기 "쥐박이"되기 싫어서 꼭 댓글 남기고 가넹 ...

    perm. |  mod/del. reply.
    • 도아 2009/01/30 08:20

      예. 텍큐에서 처리하기 보다는 티스토리에서 처리해야 할 문제로 보입니다.

  8. 더공 2009/01/30 02:15

    음... 봐도, 읽어도 잘 이해되지 않는 나의 머리...
    역시 전문가는 따로 있는듯 하네요.. ㅡ.ㅜ

    perm. |  mod/del. reply.
    • 도아 2009/01/30 08:21

      프로그래밍을 하지 않았다면 원래 이해하기 힘든 내용입니다.

  9. 학주니 2009/01/30 09:50

    윽.. 조만간 택큐로 갈아탈거 같은데..
    저런 문제가 생기면.. -.-;

    perm. |  mod/del. reply.
    • 도아 2009/01/30 15:36

      패치하는 방법이 오늘 오후 5시 35분 경에 올라올 것입니다. 글 예약해 두었습니다.

  10. 징징이 2009/01/30 09:59

    제...제길..
    스크롤바를 내릴수록 초라해지는 저네요.. 킄
    예전에 C랑 Visual Basic좀 공부했는데도... ㅠㅠ

    [p.s 이번에 집에 굴러다니던 5년? 전쯤에 산 컴퓨터 한대에,
    windows7을 설치했더니, 이더넷, VGA쪽 드라이버를 하나도 못찾네요..
    LAN도 못찾고, 일단 한글화라도 해보자며 '이응'깔고 가상드라이브를 설치하니
    또 뭐라하고....
    ㅠㅠ]

    perm. |  mod/del. reply.
    • 도아 2009/01/30 15:36

      원래 프로그래밍이 공부한다고 되는 것이 아닙니다. 직접 개발을 해봐야 배우게 됩니다.

  11. 최면 2009/01/30 10:49

    티스토리가 설 연휴 기간에는 직접 올린 이미지 파일까지 저작권에 걸린다면서 걸러내더니.. (나중엔 음원에만 저작권 관련 해서 검증 시스템을 적용한다는 것이 실수로 이미지 파일까지 적용되었다고 공지가 뜨고 고쳐졌지만요..)
    이젠 트랙백까지 ㅠ.ㅜ 요즘 티스토리가 이상해요;;
    그래서 텍스트큐브로 옮겨왔더니.. 그래도 티스토리가 말썽;;

    그런데.. 트랙백 보내려고 보니.. 알게 모르게.. 티스토리 사용자가 엄청 많다는 사실 ㅎㅎ

    고쳐보고 싶지만.. 일단 트랙백 관련 php 파일만 수정했습니다 ㅠ.ㅜ
    실력이 없어서리;;

    perm. |  mod/del. reply.
    • 도아 2009/01/30 15:37

      오늘 오후 5시 35분에 패치가 공개됩니다. 기대하세요.

  12. LieBe 2009/01/30 11:44

    위의 하이컨셉님 말씀처럼 저도 도아님 블로그의 댓글 알리미가 작동하지 않습니다...
    민노씨 블로그도 마찬가지고요...

    티스토리...끼리끼리만 놀고 왕따되나......OTL

    perm. |  mod/del. reply.
    • 도아 2009/01/30 15:37

      제가 보기에 알리미도 같은 문제인 것 같습니다. 확인한 뒤 알리미 패치도 올리도록 하겠습니다.

  13. chuky1 2009/01/30 16:49

    관리자만 볼 수 있는 댓글입니다.

    perm. |  mod/del. reply.
  14. 포근한신사 2009/02/01 12:41

    안녕하세요. 트랙백이 전송되지 않는 문제를 제가 얼마전에 겪은 경험을 잠시 이야기 드리고자 합니다. ( http://codex.kr 에 어느분이 도아님 사이트를 보고 가입하셨다 해서 글을 읽어보게 되었습니다 )

    무료 호스팅 이용자중에 wordpress 에서 갑자기 트래픽이 전송되지 않는 문제가 발생하여서 여러가지 조사를 해보았는데 외부에서 오는 트래픽은 정상이고 내부에서 외부 또는 내부에서 내부로 보내지는 트랙백 전송에 오류가 발생 현상이 발견되었습니다.

    마침 공교롭게도 서버 이전중이어서 자세히 살펴보지 못하다가 DNS 셋팅에 사소한 실수가 있던 부분을 발견하여 수정하던중에 자연스럽게 트랙백이 해결되었습니다.

    이 과정에서 워드프레스와 텍스트큐브, 테터툴스, 제로XE 의 구현 방법에 차이가 있음을 알게 되었는데 워드프레스는 잘못된 주소나 잘못된 위치라면 절대로 트랙백을 전송하지 않았습니다. 반면에 테터툴스,텍스트큐브, 제로XE는 일반 보내고 오류에 대한 검증은 없습니다. 트랙백을 보내면 상대방이 수신이 성공하던 말던 일단 성공 메세지를 보냅니다. (검증 단계가 너무나도 간단한것 같았습니다.)

    반면 워드프레스는 트랙백이 잘 보내졌는지까지 검증하는지는 모르겠으나 일단 실패한것은 무조건 실패로 나왔고, 성공을 하게되면 무조건 상대방 글에 트랙백이 붙어있었습니다.

    결과적으로 트랙백은 DNS서버와도 관련이 있는것으로 판단하게 되었습니다. (트랙백 문제는 해결되었습니다.)

    이야기와 상관없는 다른 경험을 하나 더 말하자면
    최근 웹에서 해킹 공격이 전체 보안의 80%를 차지한다는 글을 어디선가 읽었는데 호스팅업체들은 대부분 mod_security, mod_evasive, suPHP등을 열심히 설치하는데 제일 많이 검출되는 쪽이 제로XE와 텍스트 큐브쪽입니다.
    코딩 스타일의 문제일지는 몰라도 해외 유명 PHP 어플리케이션에서는 이러한 현상이 거의 없는것으로 보면 무료 호스팅을 제공하는 입장에서 관리하기에 너무 부담이 갑니다.
    그래서 저는 유저분들이 블로그 툴을 추천해달라고 하면 조금 쓰기 어려울지 모르나 워드프레스를 권해드립니다. 제로XE,텍스트큐브나 테터툴스의 mod_rewite를 보면 모든 디렉토리나 URL을 장악해서 무얼 하겠다는것인지 .. 좀 더 정교하게 만들어주었으면 하는 바램 뿐입니다.

    perm. |  mod/del. reply.
    • 도아 2009/02/01 16:54

      안녕하세요. 트랙백이 전송되지 않는 문제를 제가 얼마전에 겪은 경험을 잠시 이야기 드리고자 합니다. ( http://codex.kr 에 어느분이 도아님 사이트를 보고 가입하셨다 해서 글을 읽어보게 되었습니다 )

      제가 가입했을 당시 "도아"님이 그 "도아"님이냐고 물으셨던 기억이 납니다. 개인적으로 괜찮은 무료 호스팅이라 한번 소개해 드리려고 했는데 시간이 없어서 간단히 주소만 소개하고 있습니다.

      반면에 테터툴스,텍스트큐브, 제로XE는 일반 보내고 오류에 대한 검증은 없습니다. 트랙백을 보내면 상대방이 수신이 성공하던 말던 일단 성공 메세지를 보냅니다. (검증 단계가 너무나도 간단한것 같았습니다.)

      잘못 알고 계십니다. 제가 트랙백 문제를 해결한 이유는 텍스트큐브에서 보내지 못했다는 오류 메시지를 보냈기 때문입니다.

      결과적으로 트랙백은 DNS서버와도 관련이 있는것으로 판단하게 되었습니다. (트랙백 문제는 해결되었습니다.)

      당연히 DNS 서버와도 관련이 있습니다. 그러나 티스토리의 경우는 DNS 서버의 문제는 아니었습니다. DNS 서버의 문제라면 해당 DNS 서버를 이용하는 경우에만 문제가 생기니까요.

      제로XE,텍스트큐브나 테터툴스의 mod_rewite를 보면 모든 디렉토리나 URL을 장악해서 무얼 하겠다는것인지 .. 좀 더 정교하게 만들어주었으면 하는 바램 뿐입니다.

      제로보드XE는 모르겠지만 텍스트큐브의 경우 주소를 문자로 표현하는 것 때문에 발생한 일입니다. 처음에는 mod_rewite를 이용해서 주소를 문자로 표현했지만 mod_rewite를 지원하지 않는 서버를 위해 rewrite.php로 통합했습니다. 물론 이 과정에서 여러 가지 문제가 발생했습니다만 최근 판(1.7.7 베타2)에서는 예전에 발생하던 문제가 많이 사라졌더군요.

      방문 감사드립니다.

  15. 멀뚱이 2009/02/13 20:52

    컴터 전문가시구나. 뭔 소린지. ㅜㅜ

    perm. |  mod/del. reply.

댓글로 기쁨을 나눠요!

(옵션: 없으면 생략)

글을 올릴 때 [b], [i], [url], [img]와 같은 BBCode를 사용할 수 있습니다.