Squid는 프록시가 아닌 사용자를 차단합니다.

Squid는 프록시가 아닌 사용자를 차단합니다.

포트 3128에서 수신 대기하는 Squid를 설치했습니다. 이제 프록시가 설정되지 않은 http/https 웹 페이지에 연결을 시도하는 모든 사용자에게 오류 페이지를 표시하고 싶습니다. 어떤 매개변수를 설정해야 합니까?

답변1

나는 당신을 위해 오징어를 얻을 수 없다고 생각합니다.

라우터에서 나가는 http/https 트래픽을 어떤 URL이 요청되든 주어진 오류 페이지로 응답하는 일부 로컬 웹 서버로 리디렉션해야 합니다.

웹 서버가 게이트웨이 자체에서 실행 중일 때 리디렉션이 가장 쉽습니다. 그러면 다음과 같은 규칙을 추가할 수 있습니다.

iptables -t nat -A PREROUTING -p tcp --dport http -j REDIRECT
iptables -t nat -A PREROUTING -p tcp --dport https -j REDIRECT

이렇게 하면 해당 포트로 향하는 모든 트래픽이 로컬 시스템으로 전송됩니다.

https 트래픽의 경우 로컬 시스템에서 사용하는 인증서가 요청한 호스트 이름과 확실히 일치하지 않기 때문에 를 사용하면 인증서 오류가 발생합니다.

웹 서버 측에서는 메시지가 포함된 index.html 페이지를 404 오류 문서로 사용하여 요청된 URL에 관계없이 페이지가 제공되도록 할 수 있습니다.

물론 가장 쉬운 방법은 모든 http/https 트래픽을 거부하는 것이며, 그러면 브라우저는 오류를 보고합니다. 브라우저가 이 상태를 사용자에게 전달하도록 하려는 경우 REJECT에 사용할 수 있습니다 .--reject-with adm-prohibited

관련 정보