Português do Brasil English
Devin no Facebook  Devin no Twitter  RSS do Site 
Servidores    

Apache: Mostrando páginas de um servidor Intranet num servidor Internet


Comentários  0
Visualizações  
13,053

Às vezes você se depara com uma configuração em que você tem um servidor Apache rodando para a Internet, e outros servidores rodando internamente. Só que como fazer para que os usuários da Internet acessem os vários servidores internos? Uma solução seria configurar o firewall para que redirecione as respectivas conexões para os servidores internos via NAT. Mas o problema disso é que você não consegue redirecionar na mesma porta de acordo com o nome do host, ou seja, não tem a habilidade de fazer uma configuração de Domínio Virtual no firewall.

Vamos supor que eu tenha três servidores internos e um externo. Cada um destes servidores internos carrega um site diferente, rodando sob Linux e Apache (SIM!), enquanto que no servidor externo, eu tenho um Apache rodando com alguns sites simples. Como fazer para que este Apache no servidor externo mostre aos usuários da Internet as páginas que estão nos servidores internos?

Para solucionar este caso, você pode simplesmente utilizar o poderoso mod_rewrite para pegar todo um endereço da rede Interna e colocar disponível no seu servidor Internet transparentemente para o usuário. No servidor externo, você pode colocar as seguintes linhas na configuração principal ou dentro de um domínio virtual (<VirtualHost>):

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?nomedodominio\.com\.br
RewriteRule (.*) http://192.168.0.1$1 [P]

Neste exemplo, quando o usuario acessar o domínio virtual www.nomedodominio.com.br, o Apache coletará as informações do servidor interno 192.168.0.1 e colocará disponível transparentemente para o usuário.

Mais outros exemplos:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?nomedodominio\.com\.br
RewriteRule ^/site/(.*) http://192.168.0.2$1 [P]

Isto faz com que o diretório /site dentro do dominio www.nomedodominio.com.br seja associado ao servidor interno 192.168.0.2.

E por aí vai. As possibilidades são muitas, e se você souber mexer com expressões regulares e o mod_rewrite do Apache, você consegue fazer tudo!


Comentários  0
Visualizações  
13,053


TagsLeia também

Apaixonado por Linux e administração de sistemas. Viciado em Internet, servidores, e em passar conhecimento. Idealizador do Devin, tem como meta aprender e ensinar muito Linux, o que ele vem fazendo desde 1997 :-)


Leia também



Comentários

Deixe uma resposta