gpt4 book ai didi

apache - 如何使用 apache2 和 mod_proxy_fcgi 禁用缓冲?

转载 作者:行者123 更新时间:2023-12-01 22:19:58 25 4
gpt4 key购买 nike

我在 debian Jessie 上使用 mod_proxy_fcgi 和 apache 2.4,以及我的 C++ 应用程序,该应用程序使用 libfcgipp 执行 ServerSentEvents。

我的问题是,apache 仍然缓冲我的响应数据。我通过使用wireshark确认libfcgipp库没有缓冲它:通过spawn-fcgi启动fcgi应用程序后,数据会尽快发送到apache Web服务器。但在我的浏览器(我用于测试,稍后会有一个 C++ 客户端)中,它仅在我“杀死”/关闭服务器应用程序中的发送请求后才显示。

所以我假设我需要禁用 apache 或 mod_proxy_fcgi (或两者)的缓冲。但我找不到有关如何执行此操作的适当文档。

最佳答案

作为 a subsequent discussion on the httpd-dev mailing list 的结果,支持flushpacketsflushwait已添加到mod_proxy_fcgir1802040并在 r1825765 中向后移植 Apache 2.4.31 。如果您使用的是 Apache 2.4.31 或更高版本,则可以使用 <Proxy flushpackets=on> 禁用缓冲。如 BigPipe documentation 中所述:

<FilesMatch "\.php$">
# Note: The only part that varies is /path/to/app.sock
SetHandler "proxy:unix:/path/to/app.sock|fcgi://localhost/"
</FilesMatch>

# Define a matching worker.
# The part that is matched to the SetHandler is the part that
# follows the pipe. If you need to distinguish, "localhost; can
# be anything unique.
<Proxy "fcgi://localhost/" enablereuse=on flushpackets=on max=10>
</Proxy>

注意: flushpacketsflushwait目前仅包含在 Apache mod_proxy_fcgi documentation for trunk 中因为r1808129尚未向后移植到 2.4.x 分支。

关于apache - 如何使用 apache2 和 mod_proxy_fcgi 禁用缓冲?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30707792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com