Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

O objetivo deste guia é descrever os procedimentos para a configuração de um servidor de proxy reverso em uma instalação do Fluigfluig.

Configuração de Proxy Reverso / DMZ

Um proxy reverso é um servidor que repassa o tráfego de rede recebido para um ou mais servidores. Em uma instalação do Fluig fluig este tipo de servidor é usado para habilitar uma topologia de arquitetura chamada DMZ.

A implementação da DMZ no Fluig fluig é realizada com o uso do Apache™ HTTP Server, que é um servidor Web de código livre que é , desenvolvido e mantido pela Apache Software Foundation.

A figura a seguir apresenta as topologias DMZ + SSL suportadas pelo Fluigfluig.

Image Modified
Importante: não

Nota
titleImportante

Não é possível utilizar

...

as notificações em tempo real quando utilizado proxy reverso com HTTPS.

 

...

effectDuration0.5
historyfalse
idsamples
effectTypefade

...

Pré-requisitos

...

  • Apache™ versão 2.4. O instalador e a documentação oficial do Apache™ podem ser encontrados em http://httpd.apache.org/.
  • Se for utilizar SSL, também será necessário converter o certificado utilizado na configuração do

...

  • fluig para os formatos .cer, .key e .pem. O guia para configurar o

...

  • fluig em SSL (HTTPS) encontra-se aqui.

 

...

 

...

Módulos Apache

 

  • Certifique-se que os seguintes módulos estão sendo carregados pelo

...

  • Apache:
 
Bloco de código
# Módulos para WebDAV

LoadModule dav_module modules/mod_dav.so


LoadModule dav_fs_module modules/mod_dav_fs.so


LoadModule dav_lock_module modules/mod_dav_lock.so
 


# Módulos para proxy reverso

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so


LoadModule proxy_connect_module modules/mod_proxy_connect.so


LoadModule proxy_express_module modules/mod_proxy_express.so


LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so


LoadModule proxy_ftp_module modules/mod_proxy_ftp.so


LoadModule proxy_http_module modules/mod_proxy_http.so
 
  • Se for utilizar SSL no lado DMZ, certifique-se ainda que o seguinte módulo está sendo carregado pelo Apache:

Bloco de código
# Módulo para HTTPS

LoadModule ssl_module modules/mod_ssl.so

 

...

Configuração do Apache

...

sem SSL

...

 

Na pasta /etc/httpd/conf.d (quando instalado na configuração padrão) crie um arquivo de configuração para o fluig (chamado fluig.conf, por exemplo), com o seguinte conteúdo:

 

  • <Nome externo do servidor>: nome que aparecerá na URL do navegador (por exemplo, http://meuservidor.com.br).
  • <IP do servidor Fluig>: endereço IP interno do servidor onde o Fluig está rodando (por exemplo, 10.10.2.35).
  • <caminho-certificado>: caminho e nome do arquivo de certificado (por exemplo, /etc/httpd/ssl/fluig).

 

Bloco de código
languagexml
Listen 7777
Listen 8888
Listen 21
Header set Access-Control-Allow-Origin: "http://<Nome externo do servidor>"
Header set Access-Control-Allow-Headers: "Content-Type, X-Requested-With, accept-version"
Header set Access-Control-Allow-Methods: "GET, PUT, OPTIONS, DELETE, POST"
Header Set Access-Control-Request-Method: "GET, PUT, OPTIONS, DELETE, POST"
ProxyRequests Off
ProxyVia On
AllowConnect 7777
AllowConnect 8888
AllowConnect 21

 

 
# Listener http

Listener HTTP

Bloco de código
languagexml
<VirtualHost *:80>
    ServerName <Nome externo do servidor>
    ProxyPreserveHost On
    ProxyPass / http://<IP do servidor Fluig>:<Porta do servidor Fluig>/
    ProxyPassReverse / http://<Nome externo do servidor>/
</VirtualHost>
 
 
# Linstener do Chat 

Listener do Chat

Bloco de código
languagexml
<VirtualHost *:7777>
    ServerName <Nome externo do servidor>
    SetEnv proxy-sendchuncked
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPreserveHost On
    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^/socket.io
    RewriteCond %{QUERY_STRING} transport=websocket
    RewriteRule /(.*) ws://<IP do servidor Fluig>:7777/$1
    ProxyPass /socket.io http://<IP do servidor Fluig>:7777/socket.io keepalive=On
    ProxyPassReverse /socket.io http://<IP do servidor Fluig>:7777/socket.io retry=0
</VirtualHost>
 
 
#

Listener

...

do

...

Realtime

Bloco de código
languagexml
 <VirtualHost *:8888>
    ServerName <Nome externo do servidor>
    SetEnv proxy-sendchuncked
    ProxyPreserveHost On
    ProxyPass / http://<IP do servidor Fluig>:8888/
    ProxyPassReverse / http://<IP do servidor Fluig>:8888/
</VirtualHost>
 
 
#

Listener

...

FTP

Bloco de código
languagexml
<VirtualHost *:21>
    ServerName <Nome externo do servidor>
    ProxyPreserveHost On
    ProxyPass / ftp://<IP do servidor Fluig>/
    ProxyPassReverse / ftp://<IP do servidor Fluig>:21/
</VirtualHost>

Configuração do Apache (SSL) + fluig (HTTP)

Se não for utilizado HTTPS no Fluig, deve possuir a seguinte configuração:

Onde:

  • <Nome externo do servidor>: nome que aparecerá na URL do navegador (por exemplo, http://meuservidor.com.br).

  • <IP do servidor Fluig>: endereço IP interno do servidor onde o Fluig está rodando (por exemplo, 10.10.2.35).

  • <caminho-certificado>: caminho e nome do arquivo de certificado (por exemplo, /etc/httpd/ssl/fluig).

...

 

...

id3
labelConfiguração do Apache (SSL) + Fluig (HTTP)

 

...

 

Bloco de código
languagexml
Header set Access-Control-Allow-Origin: "https://meuservidor.fluig.com/"
Header set Access-Control-Allow-Headers: "Content-Type, X-Requested-With, accept-version"
Header set Access-Control-Allow-Methods: "GET, PUT, OPTIONS, DELETE, POST"
Header Set Access-Control-Request-Method: "GET, PUT, OPTIONS, DELETE, POST"
 

<VirtualHost *:80>
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>

<VirtualHost *:443>
    ServerName <Nome externo do servidor>
    SSLProxyEngine On
    SSLEngine On
    SSLCertificateFile <caminho-certificado>.cer
    SSLCertificateKeyFile <caminho-certificado>.key
    SSLCertificateChainFile <caminho-certificado>.pem
    ProxyPreserveHost On
    ProxyPass / http://<IP do servidor Fluig>:<Porta do servidor Fluig>/
    ProxyPassReverse / https://<Nome externo do servidor/
</VirtualHost>
 
<VirtualHost *:21>
    ServerName <Nome externo do servidor>
    ProxyPreserveHost On
    ProxyPass / ftp://<IP do servidor Fluig>/
    ProxyPassReverse / ftp://<IP do servidor Fluig>:21/
</VirtualHost>
 

 

Onde:

<Nome externo do servidor>: nome que aparecerá na URL do navegador (por exemplo, http://meuservidor.com.br).
  • <IP do servidor Fluig>: endereço IP interno do servidor onde o Fluig está rodando (por exemplo, 10.10.2.35).

  • <caminho-certificado>: caminho e nome do arquivo de certificado (por exemplo, /etc/httpd/ssl/fluig).

  •  

    ...

    ...

    Configuração do Apache (SSL) +

    ...

    fluig (SSL)

    ...

    Na pasta /etc/httpd/conf.d (quando instalado na configuração padrão) crie um arquivo de configuração para o Fluig (chamado fluig.conf, por exemplo), com o seguinte conteúdo, caso seja utilizado HTTPS também no lado do Fluig:

    ...

    Bloco de código
    languagexml
    Header set Access-Control-Allow-Origin: "https://<Nome externo do servidor>"
    Header set Access-Control-Allow-Headers: "Content-Type, X-Requested-With, accept-version"
    Header set Access-Control-Allow-Methods: "GET, PUT, OPTIONS, DELETE, POST"
    Header Set Access-Control-Request-Method: "GET, PUT, OPTIONS, DELETE, POST"
    
    
    <VirtualHost *:443>
     ServerName <Nome externo do servidor>
     SSLProxyEngine On
     SSLEngine On
     SSLCertificateFile <caminho-certificado>.cer
     SSLCertificateKeyFile <caminho-certificado>.key
     SSLCertificateChainFile <caminho-certificado>.pem
     ProxyPreserveHost On
     ProxyPass / https://<IP do servidor Fluig>:<Porta do servidor Fluig>/
     ProxyPassReverse / https://<Nome externo do servidor>/
    </VirtualHost>
     
    <VirtualHost *:21>
     ServerName <Nome externo do servidor>
     ProxyPreserveHost On
     ProxyPass / ftp://<IP do servidor Fluig>/
     ProxyPassReverse / ftp://<IP do servidor Fluig>:21/
    </VirtualHost>

     

     

     

     

    ...