ip_10_secs_limit의 전역 설정을 변경하는 방법

안녕하세요,

최근 사용자가 iCloud Private Relay를 사용하면서 ip_10_secs_limit 오류가 발생했습니다. 이 서비스는 공유 IP 풀을 사용합니다.

이 설정을 완화할 방법이 있을까요? 이 규칙을 막 barely 트리거하는 것 같고, 스팸 관련 문제는 없었습니다.

코드에서 이 언급과 GlobalSetting.max_reqs_per_ip_per_10_seconds를 찾았지만, Discourse 설정에서 검색해도 찾을 수 없었습니다.

도움 주시면 감사하겠습니다!

Matt

로그에 사용자의 IP 주소가 표시되는지, 아니면 iCloud 주소가 표시되는지 확인해 보세요. 후자라면, 프록시 대신 최종 사용자 IP가 Discourse에 전달되도록 nginx 설정을 수정해야 합니다. 다른 서버와 함께 Discourse를 실행하는 방법에 대한 주제들에는 app.yml에 추가해야 하는 코드가 포함되어 있습니다. 기억이 맞다면 x-forwarded-for를 변경해야 합니다.

해당 설정은 환경 변수로 오버라이드할 수 있습니다.

  DISCOURSE_SETTING_NAME: value

휴대폰으로 직접 입력해 보지는 않겠습니다.

고맙습니다 @pfaffman

iCloud이 원인인 건 아니었을 수도 있겠네요. Chrome 사용자 한 명에게서도 동일한 문제가 보고되었습니다. 놀랍게도 서버 설정 등에는 아무런 변경 사항이 없었음에도(2.9.0.beta9 사용 중) 이 문제가 최근에야 발생하기 시작했습니다. 왜 이런 일이 일어나기 시작했는지 궁금합니다.

환경 변수로 해당 설정을 오버라이드할 수 있습니다

즉, 서버에서 ip_10_secs_limit을 환경 변수로 설정할 수 있다는 뜻인가요? 전부 소문자여야 하고, 접두사가 필요한가요? 에러 메시지에는 ip_10_secs_limit이 표시되었는데, Discourse 소스 코드에는 GlobalSetting.max_reqs_per_ip_per_10_seconds가 보여서 어떤 변수 이름을 사용해야 하는지 혼란스럽습니다.

다시 한번 감사합니다!

IP 주소에 대해 말씀하신 내용이 맞을 것 같습니다. Cloudflare IP 주소로 보고되는 것으로 보이네요. 여기에는 몇 가지 알려진 문제가 있는 것 같으니, 관련 자료를 찾아보겠습니다!

그렇다면 클라우드플레어 템플릿을 추가해야 합니다. 그것이 당신의 실제 문제입니다.

DISCOURSE_IP_10_SECS_LIMIT