2 changed files with 132 additions and 0 deletions
@ -0,0 +1,9 @@
|
||||
## |
||||
## apache-zeus.conf -- Apache configuration for mod_zeus |
||||
## |
||||
|
||||
LoadModule zeus_module @l_prefix@/libexec/apache/mod_zeus.so |
||||
|
||||
ZeusEnable on |
||||
ZeusLoadBalancerIP 10.42.1.1 10.42.1.2 |
||||
|
@ -0,0 +1,123 @@
|
||||
## |
||||
## apache-zeus.spec -- OpenPKG RPM Package Specification |
||||
## Copyright (c) 2000-2007 OpenPKG Foundation e.V. <http://openpkg.net/> |
||||
## Copyright (c) 2000-2007 Ralf S. Engelschall <http://engelschall.com/> |
||||
## |
||||
## Permission to use, copy, modify, and distribute this software for |
||||
## any purpose with or without fee is hereby granted, provided that |
||||
## the above copyright notice and this permission notice appear in all |
||||
## copies. |
||||
## |
||||
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
||||
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
||||
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
||||
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
||||
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
||||
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
||||
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
||||
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
||||
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
||||
## SUCH DAMAGE. |
||||
## |
||||
|
||||
# package information |
||||
Name: apache-zeus |
||||
Summary: Apache Extension: Client IP Transparency |
||||
URL: http://knowledgehub.zeus.com/ |
||||
Vendor: Zeus Technology Ltd. |
||||
Packager: OpenPKG Foundation e.V. |
||||
Distribution: OpenPKG Community |
||||
Class: EVAL |
||||
Group: Web |
||||
License: BSD |
||||
Version: 0 |
||||
Release: 20070827 |
||||
|
||||
# package options |
||||
%option with_zeus_header X-Cluster-Client-Ip |
||||
|
||||
# list of sources |
||||
Source0: http://knowledgehub.zeus.com/media/apache2/mod_zeus.c |
||||
Source1: apache-zeus.conf |
||||
|
||||
# build information |
||||
Prefix: %{l_prefix} |
||||
BuildRoot: %{l_buildroot} |
||||
BuildPreReq: OpenPKG, openpkg >= 20060823, gcc |
||||
PreReq: OpenPKG, openpkg >= 20060823 |
||||
BuildPreReq: apache, apr |
||||
PreReq: apache, apr |
||||
AutoReq: no |
||||
AutoReqProv: no |
||||
|
||||
%description |
||||
When using load balancers in front of an Apache HTTP server or |
||||
Apache-based application, the connection appears to originate from |
||||
the load balancer device. This can be a problem if the server wishes |
||||
to perform access control based on the client's IP address or |
||||
if it wants to log the true source address of the request. |
||||
|
||||
With mod_zeus the value Apache's internal 'remote_ip' field will be |
||||
fixed if the HTTP request contains an specific header inserted by |
||||
a trusted load balancer containing the client's IP address. |
||||
|
||||
In addition, the environment variable 'ZEUS_LOAD_BALANCER_ADDR' will |
||||
point to the IP address of the load balancer that the request came |
||||
through. |
||||
|
||||
The name of the HTTP header can be defined during build time of the |
||||
module. |
||||
|
||||
%track |
||||
prog apache-zeus = { |
||||
disabled |
||||
comment = "cs: unversioned source code" |
||||
version = %{version} |
||||
url = http://knowledgehub.zeus.com/faqs/2005/12/02/preserving_the_client_ip_address_to_apac |
||||
regex = mod_zeus.c |
||||
} |
||||
|
||||
%prep |
||||
%setup -q -c -T |
||||
%{l_shtool} install -c -m 644 \ |
||||
-e 's;X-Cluster-Client-Ip;%{with_zeus_header};g' \ |
||||
%{SOURCE mod_zeus.c} \ |
||||
. |
||||
|
||||
%build |
||||
# build module |
||||
%{l_prefix}/sbin/apxs -c mod_zeus.c |
||||
|
||||
%install |
||||
rm -rf $RPM_BUILD_ROOT |
||||
|
||||
# install module |
||||
%{l_shtool} mkdir -f -p -m 755 \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/etc/apache/apache.d \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/libexec/apache |
||||
%{l_shtool} install -c -m 755 \ |
||||
.libs/mod_zeus.so \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/libexec/apache/mod_zeus.so |
||||
%{l_shtool} install -c -m 644 %{l_value -s -a} \ |
||||
%{SOURCE apache-zeus.conf} \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/etc/apache/apache.d/ |
||||
|
||||
# determine installation files |
||||
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ |
||||
%{l_files_std} \ |
||||
'%config %{l_prefix}/etc/apache/apache.d/apache-zeus.conf' |
||||
|
||||
%files -f files |
||||
|
||||
%clean |
||||
rm -rf $RPM_BUILD_ROOT |
||||
|
||||
%post |
||||
# after upgrade, restart service |
||||
[ $1 -eq 2 ] || exit 0 |
||||
eval `%{l_rc} apache status 2>/dev/null` |
||||
[ ".$apache_active" = .yes ] && %{l_rc} apache restart |
||||
exit 0 |
||||
|
Loading…
Reference in new issue