我有一个接受 POST 请求的 Web 服务。这是一个网络内部服务,在这一层,互联网攻击不是问题。但是,它并不总是很快。用户不需要 POST 响应的实体信息。我想建立一个代理,它接受任何 POST,返回 202 状态,并将请求异步转发到实际服务。
我找不到能做到这一点的代理!要么是某种类型的消息队列,目的地需要轮询,要么是像 squid 或 nginx 这样的代理,等待远程服务完成。
我遗漏了什么? 有地方吗? 难道没有其他人需要异步处理 POST 吗?
答案1
我不认为代理可以为您做到这一点,因为它的工作是代理请求,而不是接受请求然后关闭。
我对解决这个问题有一些想法——
我认为最好的选择是自己动手做点什么,例如使用 PHP 和 Curl。(即接受请求并生成具有相同参数的新请求,可选择添加 X-Forwarded-For 标头)。
我还没有如此深入地研究过它,但是你也可以看看 mod_security - 我相信它有能力破坏通过服务器的数据包,因此你可以强制它执行你的命令。