nginx可以設定為發送零回應資料並立即關閉連線嗎?

nginx可以設定為發送零回應資料並立即關閉連線嗎?

nginx可以設定為發送零回應資料並立即關閉連線嗎?我試圖避免為某類入站連接發送絕對任何出站資料。

我在這裡找到了一個可能的解決方案https://stackoverflow.com/a/17010681/68788從幾年前開始:

location /ip/ {
    keepalive_timeout 0;
}

但我不知道是否keepalive_timeout 0;會阻止 nginx 在關閉連線時仍然發送出站標頭。

就某些背景而言,幾個月前,我的一個網站成為大規模 DDoS 的目標。我必須切換到 Cloudflare 的 WAF(Web 應用程式防火牆)才能過濾掉衝擊流量。入站+出站總流量增加了 3000%,潛在的成本可能相當可怕。

入站攻擊仍在繼續。連續幾個月每天都有數 TB 的無用流量。

然而,事實證明 Cloudflare 的 WAF 代理程式有意外問題,導致我的部分服務無法正常運作。 (對於這個問題,細節並不重要。我已經在這個兔子洞裡鑽了好幾個星期了,這與 Cloudflare 如何終止 ipv4 和 ipv6 流量有關。)

現在我想我可能需要推出不同的解決方案來修復服務。如果我能讓 nginx 為我目標的入站連線類別發送絕對零的出站數據,我也許能夠管理這個問題。主要目標是終止我正在過濾掉的入站連線時,出站資料傳輸成本為 0。

感謝任何幫助。

答案1

使用返回444;

從文件中:

停止處理並將指定的程式碼傳回給客戶端。非標準代碼 444 關閉連線而不發送回應標頭。

相關內容