Apache-2.4

使用自定義 PROXY_WORKER_MAX_NAME_SIZE 建構和安裝 apache mod_proxy

  • November 10, 2015

我在使用 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_proxy模組apxs,將 設置PROXY_WORKER_MAX_NAME_SIZE為大於 96 個字元,然後將其安裝到我的 Apache 2.4。

我怎樣才能做到這一點?

建構阿帕奇

下載 apache 2.4.x + apr + apr_util

建構 apr & apr_include (./configure & make) 以創建 .h 複製 apr/include/* in apache2.4/include 複製 apr_util/include/* in apache2.4/include 複製 apache2/os/unix/os.h在 apache2.4/include 中(用於 linux 建構)

建構阿帕奇:

./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 來源可在此處獲得:

官方安裝文件

引用自:https://serverfault.com/questions/734186