node.js - 谷歌云功能释放资源而不响应请求
问题描述
我想释放与节点 js 请求关联的资源,而不向客户端发送任何类型的响应。
这可能听起来很奇怪,但我的目标很简单,最近几天我的服务器一直被黑客攻击......我正在尝试改进防御,如果我发现恶意请求,我可以直接放弃它而不发送任何响应我将使攻击者等待连接超时,这将带来更多优势。
我试过了:
exports.test = (req, res) => {
res.end();
};
但在这种情况下,服务器发送一个空响应,这不是我的目标,因为我想让客户端永远等待
也试过:
exports.test = (req, res) => {
res.socket.destroy();
};
在谷歌云功能上会引发异常
有谁知道如果我简单地返回它将被释放或连接将挂起的函数,是否在 GCF 上?
exports.test = (req, res) => {
return; //will google release all resources or connection and socket will be kept until timeout?
};
解决方案
Cloud Functions 无法启用您尝试执行的操作。保持连接打开的唯一方法是您的函数超时而没有响应。您不能指示它在终止功能的同时保持连接打开。或者,换一种说法,您将不得不为执行秒支付通常的 Cloud Functions 费率,以保持该连接打开。
推荐阅读
- search - Yii2-使用 SqlDataProvider 和 GridView 并启用 Gridview 过滤器进行搜索
- batch-file - 批量重命名目录删除“&”符号
- android - Xamarin.Forms Listview 不显示选择涟漪效应
- git - Git - 为什么我的源文件被忽略?
- c# - InsertMany() 给出 FormatException,我尝试处理它会导致重复键错误
- sql - 在 where 条件下声明 varchar
- html - 制作2个面板并在一页html中加载2个网站,并放大缩小而不影响其他面板
- elasticsearch - 如果将确切的单词用作文本,elasticsearch 不会提出任何建议吗?
- php - 如果数据丢失,php 不会回显错误消息 - 而是显示 php 致命错误
- firebase - 大尺寸数组的权限缺失或不足