fbpx
+55 (11) 4506-3239

22 jun 2011

Instalando e Configurando Oracle HTTP com WebLogic – Parte 1

//
Comments0

Ok, sei que alguns podem estar se perguntando, o porque deste post, sendo que não tem nada a ver com IBM. Pois bem, a explicação é que este produto trata-se de um middleware e além disso é um concorrente direto aos produtos da IBM. Penso que é importante conhecer as duas situações não apenas para gerar conhecimento mas também estar apto a propor uma melhor solução ao cliente. Neste post vou mostrar como instalar um Oracle HTTP Server 11g em um servidor Linux RedHat x64 e configurar o módulo junto a um servidor WebLogic.

Ele será dividido em 2 partes, a primeira será uma visão de como funciona o OHS (Oracle HTTP Server) e a outra partiremos para a instalação e configuração. É importante ter esta primeira parte para poder entender o conceito do produto, pois ele é um pouco diferente do IBM HTTP Server e o próprio Apache, mesmo que ambos os produtos OHS e IBM utilizam o Apache como servidor Web.

Escopo da Aplicação

O OHS por padrão trabalha com um escopo e layout de portas diferente de outros servidores HTTP.
Ele utiliza o Web Cache como gateway entre o browser e o Apache.

O padrão do layout de portas da instalação é exibida conforme a imagem acima onde o Web Cache está rodando na porta 7777 e dispara requisições para o OHS que está rodando na porta 7778.
Portanto podemos dizer que o HTTP está configurado da seguinte firma.
Listen 7778
Port 7777
Listen: Define a porta na qual o servidor HTTP escuta para entrada requisições e receber estas requisições. Ao verificar quais portas são usadas pelo HTTP Server (usando netstat ou lsof), esta é a porta que vai aparecer como estando em uso pelo servidor HTTP.

Porta do servidor.
Port: Define a porta através da qual o servidor HTTP deve ser acessado.
Esse valor é usado quando o servidor HTTP cria redirecionamentos para si, e também é passado para aplicações web para que as aplicações respeitem este valor, pode criar links e redirecionamentos para si mesmos.

Agora a configuração fazem sentido:

Listen 7778 diz que o servidor HTTP fisicamente escuta na porta 7778 para que o Web Cache possa alcançá-la nesta porta.

Port 7777 diz que o servidor HTTP deve ser acessada através da porta 7777, assim aplicações ao Servidor HTTP em si geram links e redirecionamentos para a porta do Web Cache. Assim, nos links e redirecionamentos um browser nunca vai ver a própria porta no HTTP Server, mas somente a porta sob qual o servidor HTTP é anunciado.

Porta SSL

Além de se conectar à porta 7777 através do HTTP do navegador, também é possível se conectar à porta 4443 através do HTTPS. Neste último caso, o Web Cache envia o pedido para o Servidor HTTP HTTPS da porta 4444. (SSL é usado tanto entre o navegador e Web Cache e entre Web Cache e o servidor HTTP.)


Port 4443
SSLEngine on

Listen 4444

Nota: É possível alterar a porta 4443 para a porta padrão 443.

Listen 4444 diz que o servidor HTTP físicamente escuta na porta 4444 para que Web Cache possa alcançá-lo nesta porta.

A parte entre e é específico para pedidos de HTTP que foram recebidos na porta 4444.

Port 4443 diz que esta porta (4444) no Servidor HTTP devem ser acessados através do front nd da porta 4443, então o servidor HTTP gera redirecionamentos para o Web Cache na porta SSL. Assim, os redirecionamentos de um navegador não irão ver que a própria porta HTTP Server é SSL, mas sim a porta SSL em que o servidor HTTP é anunciado.

SSLEngine finalmente diz que essa porta deve realmente usar SSL, mais especificamente, diz que tudo que entra em nesta porta deve ser primeiro descriptografados.

Porta 80

O navegador só sabe sobre a porta 80, e não sabe (e nem se importa) que o proxy reverso despacha o pedido para Web Cache na porta 7777, e, em seguida, despacha o pedido para o servidor HTTP na porta 7778.
Nesta situação, o ponto de entrada para o servidor HTTP é qualquer endereço www que esteja na porta 80

Portanto, a configuração no arquivo httpd.conf deve ser

Port 80
Listen 7778
ServerName http://www.externo.com/ (ou qualquer outro endereço de sua escolha)

Nota: No exemplo acima do desenho, para liberar o acesso a porta 80 foi configurado um proxy reverso. Isso é apenas uma maneira mais segura de trabalhar com esse tipo de configuração. Porém, é possível habilitar o acesso a porta 80 diretamente pelo HTTP server no arquivo httpd.conf. Para isto, basta incluir a linha Listen 80.

Como conclusão final podemos afirmar que o HTTP Server tem sua própria visão do mundo, enquanto o ServerName e Port definem o conjunto de visão do mundo em relação ao Oracle HTTP Server, de modo que o ServerName e Port são os mais necessários para criar ou reconfigurar inscrições para criar um (novo) ponto de entrada frontend.