Apache 2.4 vHost를 사용하는 Debian 서버를 운영 중이며, 이 중 하나의 vHost가 Discourse Docker 컨테이너입니다. Apache에는 mod_remoteip가 활성화되어 있습니다(mod_extract_forwarded는 없었으며), 하지만 설정 옵션은 없습니다. vHost 설정은 꽤 단순합니다:
RequestHeader set X-Forwarded-Proto "https"
ProxyPreserveHost On
ProxyRequests Off
ProxyPass /.well-known !
ProxyPass / http://localhost:8083/
ProxyPassReverse / http://localhost:8083/
8083은 Discourse Docker 컨테이너의 노출된 HTTP 포트입니다.
대략 이 정도입니다.
Apache access.log로 생성된 통계에서 다른 방문자(IP 기준)를 볼 수 있으며, 더 중요한 것은 사용자들의 마지막 IP도 서로 다르게 보입니다(이것은 저에게 간단한 확인이었습니다). 따라서 방문자의 IP 주소가 Apache 프록시를 통해 Discourse로 노출되는 것 같습니다. 며칠 전에 활성화한 mod_remoteip를 켜기 전에도 이미 이런 상태였습니다.
어쨌든, 다시 문제가 생겼습니다. 크라쿠프(폴란드)의 IPv4 주소에서 크롤러 또는 DoS 공격이 진행 중입니다. 많은 수의 429 에러를 생성하고 있습니다. 저에게는 괜찮지만, 다른 모든 방문자들도 이 에러를 받고 있습니다.
그렇다면 연결 제한에 도달하면 모든 사람이 에러를 받는 건가요? 아니면 IP별로 적용되는 건가요?
제 설정에서 누락된 것이 있거나 개선/조정할 수 있는 부분이 있을까요? 몇 주 전에도 Claudebot으로 인해 문제가 있었고, 며칠 전에도 마찬가지였기 때문에, 아마도 제한을 조금 높여야 할 것 같습니다.