HTTP1.1 요청을 차단하는 실험을 진행하며 RSS 리더, Google, Lynx 같은 합법적 트래픽에서 발생한 문제와 Caddy 설정 예외, 그리고 결론을 정리한다.
Andrew Stephens, 2026년 3월 8일 일요일, Computing, Rant
몇 주 전에 HTTP1.1 요청을 차단하는 실험을 하고 있다고 썼다 - [x] TLDR: 내 사이트로 들어오는 v1.1 트래픽은 거의 100% 봇이다. 누군가 내 수상한 발자취를 따라갈까 해서, 몇 가지 관찰을 여기 적어 둔다.
이 실험을 시작할 때 나는, 유지보수되는 소프트웨어라면 거의 다 요청을 보낼 때 최소한 비교적 새로운 HTTP2.0 표준을 쓸 거라고 생각했다. 2026년 기준으로 공식적으로 10년도 넘었고, 라이브러리와 프레임워크에 널리 구현되어 있으니까.
그런데 이 가정은 크게 틀렸다. 주요 문제들은 아래에 적어 두었지만, 요점만 말하자면 내 Caddyfile의 관련 부분은 이제 이렇게 생겼다:
@http-too-old { not protocol http/2+ not path /rss.xml /atom.xml # rss 허용 # 허용할 만한 일부 봇 허용 not header_regexp User-Agent (?i)(Google-Site-Verification|googlebot|bingbot|duckduckbot|mastodon|^Lynx) }
거의 모든 인기 RSS 피드 리더가 HTTP1.1을 사용한다. 나는 /rss.xml과 /atom.xml을 차단에서 명시적으로 제외하는 방식으로 이를 약간 완화했다. 불행히도 일부 피드 리더는 미리보기 생성 등을 위해 사이트의 페이지도 요청하는데, 이제 이것들이 차단된다.
이 문제는 내 블로깅 소프트웨어가 각 글의 첫 문장만 담긴 잘린 피드를 생성한다는 점 때문에 더 악화된다. 이건 좀 부끄럽고 오래전부터 고치려고 마음먹었던 부분이다. 지금은 독자들이 내 글을 읽기 위해 클릭해서 들어와야 한다 - 이게 부담인 분들께 사과드린다.
아마 위 목록에 더 인기 있는 피드 리더들의 User-Agent를 추가할지도 모르겠다.
가장 짜증났던 건, 그 많은 조직 중에서도 Google이 아직 v1.1로 사이트를 크롤링하고 있다는 점이었다. Search Console이 불평을 멈추게 하려면 Google-Site-Verification과 googlebot을 둘 다 추가해야 했다.
솔직히 Google에 예외를 둘지 두 번 생각했다. Google이 내 사이트를 크롤링해 주길 간절히 바라던 시절은 오래전에 끝났다 - 2026년의 나는 그들이 자기들의 AI 결과를 강화하려고 웹을 크롤링한다는 걸 알고 있고, Google에서 들어오는 트래픽도 너무 적어서 사실 거의 상관이 없다.
언젠가는 굳이 그들을 차단하지 않으려고 애쓸 마음도 사라질 것 같다. 하지만 이번에는 유예를 주었다.
Mastodon에서 흥미로운 피드백을 받았다.
@sheephorse 축하합니다, 당신은 모든 lynx 사용자를 제외시켰네요(여전히 #1 텍스트 모드 브라우저이고, 특히 저시력 사용자들 사이에서요). 그건 아기를 목욕물과 함께 버리는 정도가 아니라, 이웃집 애들까지 보너스로 같이 내다버리는 격입니다.
@mirabilos@toot.mirbsd.org on Mastodon

나는 보통 이러지 않지만, 가끔은 밈이 딱 들어맞을 때가 있다
솔직히 Lynx는 수년간 떠올려 본 적이 없었다. 아직 남아 있다면 이제는 HTTP2.0을 지원할 거라고 그냥 가정했는데, 아니었다. Lynx 트래픽이 많지는 않지만, 그들을 제외하려던 건 아니었다.
테스트하는 동안 Lynx를 다운로드해 한동안 이것저것 만져 봤다. sheep.horse가 텍스트 기반 브라우저에서도 꽤 잘 동작한다는 걸 확인해서 기뻤다 - 낡은 평범한 HTML 웹사이트에 1점.
아직도 놀라울 정도로 합법적인 HTTP1.1 트래픽이 있다. 특정 User-Agent를 통과시키는 방식은 좀 촌스럽지만, 더 정교한 봇 탐지 대신 쓰기에는 그럭저럭 괜찮게 동작한다.
현 상태로는, 제외된 봇들이 쉽게 축복받은 User-Agent인 척할 수 있다 - [x] 예를 들어 일부 비구글 크롤러가 googlebot의 어떤 버전인 척한다는 건 나도 알고 있다 - 하지만 봇들 중 상당수는 아예 그런 수고를 하지 않는 것 같다. 문제들이 생길 때마다 허용 에이전트 목록을 계속 손볼 것이다.
이 접근을 추천하느냐고? 봇 트래픽에 정말로 두들겨 맞고 있지 않은 이상, 범용 사이트에는 아마 추천하지 않을 것 같다. 더 나은 해결책들이 있지만, 지금은 이 정도로 내 요구를 충족하는 듯하다.
비슷한 글을 읽기: Computing, Rant. Mastodon에서 연락하기: @sheephorse@mastodon.online