Using Apache HTTP Server as a reverse proxy allows it to forward client requests to other servers and deliver the responses back to the clients. This is useful for load balancing, isolating backend services, or hiding server details.
[root@testing ~]# sudo yum install httpd
[root@testing ~]# cat /etc/httpd/conf.modules.d/00-base.conf | grep LoadModule
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
[root@testing ~]# sudo nano /etc/httpd/conf.d/reverse-proxy.conf
<VirtualHost *:80> ServerName application.domain.com ProxyPreserveHost On ProxyPass / http://127.0.0.1:8080/ ProxyPassReverse / http://127.0.0.1:8080/ ErrorLog /var/log/httpd/application_http_error.log CustomLog /var/log/httpd/application_http_access.log combined </VirtualHost> # HTTPS (Port 443) Configuration <VirtualHost *:443> ServerName application.domain.com SSLEngine on SSLCertificateFile /etc/ssl/application/ssl.crt SSLCertificateKeyFile /etc/ssl/application/private.key ProxyPreserveHost On ProxyPass / http://127.0.0.1:8080/ ProxyPassReverse / http://127.0.0.1:8080/ ErrorLog /var/log/httpd/application_https_error.log CustomLog /var/log/httpd/application_https_access.log combined </VirtualHost>
[root@testing ~]# sudo systemctl restart httpd
[root@testing ~]# sudo apt install apache2
[root@testing ~]# sudo a2enmod proxy && sudo a2enmod proxy_http && sudo a2enmod proxy_balancer && sudo a2enmod lbmethod_byrequests && sudo systemctl restart apache2
[root@testing ~]# sudo nano /etc/apache2/sites-available/reverse-proxy.conf
[root@testing ~]# sudo a2ensite reverse-proxy.conf
[root@testing ~]# sudo systemctl reload apache2
You cannot copy content of this page