¿Que es un proxy inverso?
Un Proxy inverso es un intermediario entre una red pública y un conjunto de servidores privados; el cual se encarga de administrar las solicitudes de servicios por parte de uno o varios computadores externos. Estos funcionan manipulando los requerimientos HTTP que son enviados por varios computadores; en un proceso en cual se atienden las solicitudes y al mismo tiempo manipulan la presentación de estos servicios para evitar comprometer información crítica del grupo de servidores privados a donde se solicitan.
Diagrama:
Instalación:
Derivados en debian.
aptitude install -y libapache2-mod-proxy-html libxml2-dev apache2 opensslDerivados en red hat
yum install httpd mod_ssl -yDerivados en debian.
vi /etc/apache2/sites-enabled/reverse_proxy.confDerivados en red hat
vi /etc/httpd/conf.d/reverse_proxy.confConfiguración:
En mi casó el puerto por el cual esta funcionando el servidor web alojado en la red interna es 9443, por lo tanto realizaré dicha configuración sobre este puerto.
#Redirigimos todo el trafico http a https
NameVirtualHost *:9443
<VirtualHost *:9443>
RewriteEngine On
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>
#Realizamos la configuración del proxy inverso
<IFModule mod_proxy.c>
<VirtualHost *:9443>
ServerAdmin rokitoh@red-orbita.com
ServerName reverseproxy.red-orbita.com
ServerAlias redorbitaapp01.red-orbita.com
ProxyPass / http://192.168.20.1:9443/
ProxyPassReverse / http://192.168.20.1:9443/
ProxyRequests Off
ProxyPreserveHost On
#Configuramos el certificado:
SSLEngine on
SSLProxyEngine on
SSLCertificateFile /etc/httpd/certs/redorbita.crt
SSLCertificateKeyFile /etc/httpd/certs/redorbita.key
#Configuramos los permiosos
<proxy>
Order deny,allow
Allow from all
</proxy>
</VirtualHost>
</IFModule>Salimos guardando el archivo de configuración y reiniciamos el servicio
Derivados en debian.
service apache restartDerivados en red hat
service httpd restart:wq!
Comentarios