[英]How to close HTTP connection in asp.net?
我有问题,请帮忙!
我们的网站最近受到了慢速HTTP POST DOS攻击。 这是您的服务器收到大量传入连接并保持很长一段时间的时候,因为发件人发送信息的速度非常慢,并且服务器无法满足真实用户的请求-拒绝服务。
因此,我决定拒绝此类POST请求:
void Application_BeginRequest(object sender, EventArgs e)
{
if ( _my_condition_here_ )
{
_reject_the_request_by_dropping_connection_
}
}
问题是我无法在asp.net中删除HTTP连接:
Response.End(), throw new Exception(), even Thread.CurrentThread.Abort()
不要关闭连接。 它在发送者发送所有虚假数据时等待,然后用“ 500服务器错误”或类似的内容回答。 在这种情况下,缓慢的POST攻击仍将成功。
我怎样才能断开连接? 也许IIS 7中有一些设置或模块可以为我做到这一点?
尝试使用Response.Close而不是Response.End。 另请参见此SO线程的已检查答案。
您是否考虑过减少连接超时?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.