Apache httpd : Configure mod_proxy2024/02/01 |
Enable [mod_proxy] module to configure reverse proxy settings. This example is based on the environment like follows. -----------+---------------------------+----------- | | |10.0.0.31 |10.0.0.51 +----------+-----------+ +-----------+----------+ | [ www.srv.world ] | | [ node01.srv.world ] | | Web Server#1 | | Web Server#2 | +----------------------+ +----------------------+ |
[1] | Configure Apache2. |
root@www:~ #
vi /usr/local/etc/apache24/httpd.conf # line 129 : uncomment LoadModule proxy_module libexec/apache24/mod_proxy.so # line 132 : uncomment LoadModule proxy_http_module libexec/apache24/mod_proxy_http.so
root@www:~ #
vi /usr/local/etc/apache24/Includes/revers_proxy.conf # create new
<IfModule mod_proxy.c>
ProxyRequests Off
<Proxy *>
Require all granted
</Proxy>
# backend server and forwarded path
ProxyPass / http://node01.srv.world/
ProxyPassReverse / http://node01.srv.world/
</IfModule>
service apache24 reload
|
[2] | Access to frontend server to verify backend server responses like follows. |
[3] |
It's possible to configure load balancing. -----------+---------------------------+--------------------------+------------ | | | |10.0.0.31 |10.0.0.51 |10.0.0.52 +----------+-----------+ +-----------+----------+ +-----------+----------+ | [ www.srv.world ] | | [ node01.srv.world ] | | [ node02.srv.world ] | | Web Server#1 | | Web Server#2 | | Web Server#3 | +----------------------+ +----------------------+ +----------------------+ |
root@www:~ #
vi /usr/local/etc/apache24/httpd.conf # line 139 : uncomment LoadModule proxy_balancer_module libexec/apache24/mod_proxy_balancer.so # line 146 : uncomment LoadModule slotmem_shm_module libexec/apache24/mod_slotmem_shm.so # line 153 : uncomment LoadModule lbmethod_byrequests_module libexec/apache24/mod_lbmethod_byrequests.so
root@www:~ #
vi /usr/local/etc/apache24/Includes/revers_proxy.conf # create new
<IfModule mod_proxy.c>
ProxyRequests Off
<Proxy *>
Require all granted
</Proxy>
# specify the way of load balancing with [lbmethod]
# also possible to set [bytraffic] which means httpd balances requests by traffic
ProxyPass / balancer://cluster lbmethod=byrequests
<proxy balancer://cluster>
BalancerMember http://node01.srv.world/ loadfactor=1
BalancerMember http://node02.srv.world/ loadfactor=1
</proxy>
</IfModule>
service apache24 reload
|
[4] | Access to frontend server to verify backend servers response like follows. |
Sponsored Link |