提问人:user2531657 提问时间:10/2/2023 最后编辑:Lakpriya Senevirathnauser2531657 更新时间:10/6/2023 访问量:117
如何在apache FCGI中仅为选定的url设置flushpackets=on
How to set flushpackets=on in apache FCGI only for selected url
问:
我正在尝试将我的 Apache Web 服务器配置为使用 php-fpm FCGI 后端,但我希望此设置仅适用于特定 URL。flushpackets=on
我目前的php-fpm配置是:
<IfModule !mod_php5.c>
<IfModule !mod_php7.c>
# Enable http authorization headers
SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
<FilesMatch \.(php|phar)$>
SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost"
</FilesMatch>
<Proxy "fcgi://localhost" enablereuse=on flushpackets=on max=10>
ProxySet timeout=100
</Proxy>
</IfModule>
</IfModule>
这会为所有请求设置 flushpackets,但我希望它只为特定 url 启用,例如/endpoint_1/
答:
1赞
neopheus
10/3/2023
#1
若要仅应用于特定 URL,请使用flushpackets=on
<Location>
喜欢这个:
<IfModule !mod_php5.c>
<IfModule !mod_php7.c>
# Enable http authorization headers
SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
<FilesMatch \.(php|phar)$>
SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost/general"
</FilesMatch>
<Proxy "fcgi://localhost/endpoint_1">
ProxySet enablereuse=on
ProxySet flushpackets=on
ProxySet max=10
ProxySet timeout=100
</Proxy>
<Proxy "fcgi://localhost/general">
ProxySet enablereuse=on
ProxySet flushpackets=off
ProxySet max=10
ProxySet timeout=100
</Proxy>
<Location /endpoint_1/>
ProxyPass "fcgi://localhost/endpoint_1"
ProxyPassReverse "fcgi://localhost/endpoint_1"
</Location>
<Location />
ProxyPass "fcgi://localhost/general"
ProxyPassReverse "fcgi://localhost/general"
</Location>
</IfModule>
</IfModule>
评论
0赞
user2531657
10/3/2023
这是我最初的想法,但它不起作用。Apache/2.4.37 失败并显示错误:<Location> 上下文中不允许代理。
0赞
neopheus
10/3/2023
我更新代码
0赞
user2531657
10/4/2023
不确定我是否理解您关于有两个 <Proxy> 指令的想法,以及这将如何应用于 FilesMatch 中的 SetHandler
0赞
neopheus
10/4/2023
<Proxy> 指令:这些指令定义了两个不同 FastCGI 代理的设置: fcgi://localhost/endpoint_1:此代理具有 flushpackets=on,这意味着它将在每个数据包后刷新输出缓冲区。这对于流式处理响应非常有用。fcgi://localhost/general:此代理具有 flushpackets=off,这意味着它将缓冲输出并一次性发送所有输出。
0赞
neopheus
10/4/2023
是的,在 FilesMatch 中将 fcgi://localhost 替换为 fcgi://localhost/general
评论