Apache - mod realip2 ошибка has no member named 'remote addr' and 'remote ip'


Материал из Wiki - Iphoster - 'the best ever support'

Перейти к: навигация, поиск

Доступная цена

Apache - mod realip2 ошибка has no member named 'remote addr' and 'remote ip'

Если при установке mod_realip модуля возникает ошибка:

# apxs -i -c -n mod_realip2.so mod_realip2.c
/usr/share/apr-1.0/build/libtool --silent --mode=compile --tag=disable-static x86_64-linux-gnu-gcc -std=gnu99 -prefer-pic -pipe -g -O2 -fstack-protector-strong -Wformat -Werror=format-security  -D_FORTIFY_SOURCE=2   -DLINUX -D_REENTRANT -D_GNU_SOURCE  -pthread  -I/usr/include/apache2  -I/usr/include/apr-1.0   -I/usr/include/apr-1.0 -I/usr/include  -c -o mod_realip2.lo mod_realip2.c && touch mod_realip2.slo
mod_realip2.c: In function 'realip2_match_proxy':
mod_realip2.c:46:50: error: 'conn_rec {aka struct conn_rec}' has no member named 'remote_addr'
 const apr_sockaddr_t*  remote_addr=r->connection->remote_addr; 
                                             ^
mod_realip2.c: In function 'realip2_replace_ip':
mod_realip2.c:61:43: error: 'conn_rec {aka struct conn_rec}' has no member named 'remote_addr'
 apr_sockaddr_t* remote_addr=r->connection->remote_addr;
                                          ^
mod_realip2.c:102:15: error: 'conn_rec {aka struct conn_rec}' has no member named 'remote_ip'
 r->connection->remote_ip=apr_pstrdup(remote_addr->pool,new_ip);
              ^
apxs:Error: Command failed with rc=65536


то решением будет заменить в исходнике remote_ip на client_ip и remote_addr на client_addr, а именно на сервере выполняем команды:

# replace remote_ip client_ip -- mod_realip2.c
# replace remote_addr client_addr -- mod_realip2.c

и повторяем компиляцию модуля:

# apxs -i -c -n mod_realip2.so mod_realip2.c
Индекс цитирования