[서버 연결 분투기] 코딩 초보의 GPT 앱 연결 도전, 에러의 벽 앞에서

첫 진단: 만신창이였던 내 앱

"연결 실패." 이 메시지의 원인을 찾기 위해 또 다른 AI(Gemini)에게 SOS를 쳤습니다. 돌아온 진단은 충격적이었습니다.

  • 서버 전원 불량: 핵심 설정이 코드에서 주석처리 되어 있어서 서버가 켜지자마자 꺼지고 있었습니다.

  • 잘못된 신호: 앱이 GPT에게 엉뚱한 언어(MIME Type)로 말을 걸고 있었습니다.

  • 외통수 터널: 무료 ngrok(내 컴퓨터와 인터넷을 잇는 터널)의 제한으로, 앱이 숨 쉴 통로가 하나 막혀 있었습니다.

총체적 난국. 하지만 문제를 알았으니 해결하면 될 일이라 생각했습니다.

하나를 해결하면 또 다른 하나가, 험난했던 여정

AI의 도움을 받아 본격적인 수정 작업에 들어갔습니다.

1. 서버 심폐소생술과 길 잃은 주소 가장 먼저 주석처리 되어 있던 서버 설정을 수정하고, 망가진 설계도(HTML)를 고쳤습니다. 이제 서버는 정상적으로 켜졌죠. 하지만 이번엔 ngrok이 만들어준 임시 인터넷 주소가 문제였습니다. 엉뚱한 주소를 입력하거나, 주소를 만들어주는 터널 창을 꺼버리기 일쑤였습니다.

2. 보이지 않는 손님, "EADDRINUSE" "이미 다른 손님이 사용 중인 방입니다." 서버를 켜려는 제게 EADDRINUSE 에러는 이렇게 말하고 있었습니다. 보이지 않는 프로세스가 문(포트)을 차지하고 있었던 거죠. netstattaskkill이라는 생소한 명령어로 끄고 나서야, 제 서버를 쓸 수 있었습니다.

3. 희망, 그리고 절망의 "타임아웃" 마침내 모든 준비가 끝난 줄 알았습니다. 서버는 힘차게 돌고 있었고, 브라우저에 주소를 입력하니 서버와 통신 중이라는 신호(event: endpoint)까지 선명하게 보였습니다.

"이제 정말 되겠지!" 확신에 차 GPT에 연결을 시도하는 순간, 화면에 나타난 것은 또다시 "Request timeout" 메시지였습니다. 모든 것이 정상처럼 보이는데, 정작 가장 중요한 GPT는 제 앱의 신호를 받지 못하고 있었습니다.

한국어 텍스트가 표시된 웹 브라우저의 스크린샷

아직 도착하지 못한 목적지

결론적으로, 제 앱은 아직 GPT와 연결되지 못했습니다. 수많은 오류를 해결했지만, 마지막 문턱에서 길을 잃은 셈이죠.

하지만 이 실패의 과정은 단순한 시간 낭비가 아니었습니다. 에러 메시지는 이제 두려움이 아닌, 다음 단계를 알려주는 단서가 되었습니다. 눈에 보이지 않는 서버와 네트워크의 작동 방식을 어렴풋이나마 이해하게 되었고, 무엇보다 문제 앞에서 포기하지 않고 끈질기게 파고드는 법을 배웠습니다.

비록 GPT와의 연결은 미완의 과제로 남았지만, 수많은 에러 로그 속에서 한 뼘 더 성장한 기분입니다. 이 분투의 끝에 성공이 있기를 바라며, 오늘의 기록을 남깁니다.

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요