제로 응답 데이터를 보내고 즉시 연결을 닫도록 nginx를 구성할 수 있습니까?

제로 응답 데이터를 보내고 즉시 연결을 닫도록 nginx를 구성할 수 있습니까?

제로 응답 데이터를 보내고 즉시 연결을 닫도록 nginx를 구성할 수 있습니까? 특정 종류의 인바운드 연결에 대해 아웃바운드 데이터를 전혀 보내지 않으려고 노력하고 있습니다.

여기서 가능한 해결책을 찾았습니다https://stackoverflow.com/a/17010681/68788몇 년 전부터 :

location /ip/ {
    keepalive_timeout 0;
}

keepalive_timeout 0;그러나 nginx가 연결을 닫을 때 아웃바운드 헤더를 계속 보내지 못하게 할지 여부는 알 수 없습니다 .

몇 달 전에 내 사이트 중 하나가 대규모 DDoS의 표적이 되었습니다. 영향을 미치는 트래픽을 필터링하려면 Cloudflare의 WAF(웹 애플리케이션 방화벽)로 전환해야 했습니다. 총 인바운드 + 아웃바운드 트래픽은 3000% 증가했으며 잠재적으로 비용은 상당히 끔찍할 수 있습니다.

인바운드 공격은 여전히 ​​​​진행 중입니다. 몇 달 동안 매일 테라바이트에 달하는 쓸모없는 트래픽이 발생했습니다.

그러나 내 서비스의 일부가 올바르게 작동하지 못하게 하는 Cloudflare의 WAF 프록시에 예상치 못한 문제가 있는 것으로 나타났습니다. (세부 사항은 이 질문에 중요하지 않습니다. 저는 몇 주 동안 토끼 굴을 파헤쳤는데 Cloudflare가 ipv4 및 ipv6 트래픽을 종료하는 방법에 관한 것입니다.)

이제 서비스를 수정하려면 다른 솔루션을 출시해야 할 수도 있다고 생각합니다. 내가 목표로 삼고 있는 인바운드 연결 클래스에 대해 nginx가 전혀 0의 아웃바운드 데이터를 보내도록 할 수 있다면 이를 관리할 수 있을 것입니다. 주요 목표는 필터링 중인 인바운드 연결을 종료하기 위한 아웃바운드 데이터 전송 비용이 0이 되도록 하는 것입니다.

도움을 주셔서 감사합니다.

답변1

사용반품444;

문서에서:

처리를 중지하고 지정된 코드를 클라이언트에 반환합니다. 비표준 코드 444는 응답 헤더를 전송하지 않고 연결을 종료합니다.

관련 정보