Configurando um proxy reverso com apache 2.4 + Linux
Guia passo a passo
- Esta atividade tem como pré-requisito um Sistema operacional linux com apache 2.4
- Instale o apache no seu servidor com os seguintes módulos: mod_proxy, mod_xml2enc, mod_proxy_html, mod_unique_id
- Caso deseje que o apache funcione como um WAF, instale o modulo mod_security2
Crie a pasta root do seu site com o comando abaixo:
mkdir /var/www/nomeexterno.dominio.com.br
Adicione no arquivo de configurações do apache /etc/httpd/conf/httpd.conf (pode mudar dependendo da distro) o conteúdo abaixo:
<VirtualHost *:80> ServerName nomeexterno.dominio.com.br DocumentRoot /var/www/nomeexterno.dominio.com.br ErrorLog logs/nomeexterno.dominio.com.br_error_log TransferLog logs/nomeexterno.dominio.com.br_access_log Redirect / /acessoempresarial/ Header edit* Location http://nomeinterno.dominio.com.br:porta http://nomeexterno.dominio.com.br ProxyPass "/acessoempresarial/" "http://nomeinterno.dominio.com.br:porta/acessoempresarial/" ProxyPassReverse "/acessoempresarial/" "http://nomeinterno.dominio.com.br:porta/acessoempresarial/" ProxyPass "/acessoempresarial" "http://nomeinterno.dominio.com.br:porta/acessoempresarial/" ProxyPassReverse "/acessoempresarial" "http://nomeinterno.dominio.com.br:porta/acessoempresarial/" ProxyPass "/josso/" "http://nomeinterno.dominio.com.br:porta/josso/" ProxyPassReverse "/josso/" "http://nomeinterno.dominio.com.br:porta/josso/" ProxyPass "/josso" "http://nomeinterno.dominio.com.br:porta/josso/" ProxyPassReverse "/josso" "http://nomeinterno.dominio.com.br:porta/josso/" <Location /> Require all denied </Location> <Location /acessoempresarial> Require all granted </Location> <Location /josso> AddOutputFilterByType SUBSTITUTE text/html text/css SetOutputFilter INFLATE Substitute "s|http://nomeinterno.dominio.com.br:porta|http://nomeexterno.dominio.com.br|ni" Substitute "s|http:\/\/nomeinterno.dominio.com.br:porta|http:\/\/nomeexterno.dominio.com.br|ni" Require all granted </Location> </VirtualHost>
Edite as configurações demonstradas acima de acordo com os nomes externos e internos definidos pela sua organização de cada serviço, substituindo os nomes “nomeexterno.dominio.com.br” e “nomeinterno.dominio.com.br:porta”.
Reinicie o apache e teste o acesso ao site pelo endereço http:// nomeexterno.dominio.com.br
Considerações
- Com o mod_security2 habilitado, existe a possibilidade de bloqueios (código 403), onde cada acesso deve ser analisado e tratado de acordo com a necessidade de cada organização.
- Caso possua, confira suas configurações de firewall e IDS para não bloquear suas aplicações de forma indevida.
- Não utilize o nome acessoempresarial no hostname externo ou interno da URI para o acesso empresarial.
- Os módulos citados são encontrados na página oficial do apache https://httpd.apache.org/docs/2.4/mod/
Artigos relacionados
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas