使用自定义 PROXY_WORKER_MAX_NAME_SIZE 构建并安装 apache mod_proxy

使用自定义 PROXY_WORKER_MAX_NAME_SIZE 构建并安装 apache mod_proxy

我在 vhost (php-fpm/apache) 配置方面遇到了问题。它引发了以下错误:

name ProxyPass worker name (unix:///var/www/vhosts/system/site/php-fpm.sock|fcgi://127.0.0.1:9000/var/www/vhosts/site/httpdocs) too long... 

我知道我可以使用符号链接或者仅删除 unix 套接字或 fgcid 部分来轻松解决这个问题。

但是我在想另一种方法。我想知道是否可以使用 构建模块mod_proxyapxs将 设置PROXY_WORKER_MAX_NAME_SIZE为大于 96 个字符,然后将其安装到我的 Apache 2.4。

我怎样才能做到这一点?

答案1

构建 Apache

下载 apache 2.4.x + apr + apr_util

构建 apr 和 apr_include(./configure 和 make)来创建 .h 在 apache2.4/include 中复制 apr/include/* 在 apache2.4/include 中复制 apr_util/include/* 在 apache2.4/include 中复制 apache2/os/unix/os.h(用于 linux 构建)

构建Apache:

./configure --enable-so --with-included-apr --includedir=/home/remy/Bureau/build_2.4.7/apache2/include/ --with-apache=/home/remy/Bureau/build_2.4.7/apache2/
Make

构建 apache 模块(使用 gcc):

gcc -fPIC -DSHARED_MODULE -I/home/frogg/Bureau/build/apache2  -I/home/frogg/Bureau/build/apache2/include/-c mod_proxy.h

然后创建与 apache 一起使用的 so 文件

touch mod_proxy.so
ld -Bshareable -o mod_proxy.so mod_proxy.o

将.so 文件放在您的 apache 模块启用文件夹中(或可用,然后 a2enmod ..)

重新启动 apache 就可以了

要更改最大大小,请转至mod_proxy.h:305(第 305 行)并将 96 更改为您想要的值: #define PROXY_WORKER_MAX_NAME_SIZE 96

来源

Apache 源代码可从这里获取:

Apache APR 源代码可从此处获取:

官方安装文档

答案2

也许你可以尝试更新你的 apache 版本

来源 :https://bugs.archlinux.org/task/43551

The bug was reported to apache in 2012 https://issues.apache.org/bugzilla/show_bug.cgi?id=53218 and the issue is marked as resolved simple by making the size to 256.

相关内容