kram3r
(usa Slackware)
Enviado em 27/12/2017 - 17:45h
giovanit escreveu:
Para fazer da forma que vc explicou só usando a porta 80 (HTTP) ou a 443 (HTTPS), caso contrário será preciso inserir o número da porta.
Ou faz como o LSSilva explicou.
Se entendi bem o que você quer fazer, acho que o texto abaixo pode te ajudar.
Explicando como as coisas funcionam.
Para que uma URL seja acessada, ela precisa de um endereço IP. Por exemplo:
www.meudominio.com.br precisa estar apontado para o IP 181.0.0.1 (exemplo que você citou).
Ou seja, tanto o IP como a URL irão funcionar.
Bem, caso você queira que somente a URL funcione, será necessário um servidor WEB com VirtualHosts.
O que o virtual hosts faz?
- ele identifica o HEADER HTTP que transporta a URL/Host que você quer acessar e traduz isso para um site específico.
No mesmo IP você pode ter inúmeros domínios no mesmo servidor WEB. Quando você chamar no browser o
www.meudominio.com.br, o Servidor WEB irá verificar se há alguma Virtual Host que responda pela HOST e DOMÍNIO que você requisitou e irá encaminhar as requisições para essa "pasta" ou porta/serviço (no caso de proxy reverso - que irei explicar mais abaixo).
Supondo que você tenha 2 dominios.
Domínio/URL 1 :
www.meudominio.com.br que tem os arquivos em uma pasta chamada /var/www/html/
www.meudominio.com.br
Domínio/URL 2 : intranet.meudominio.com.br que tem os arquivos em uma pasta chamada /var/www/html/intranet.meudominio.com.br
Quando você digitar no browser
www.meudominio.com.br, o servidor web irá saber que você está querendo ver o conteúdo/executar scripts que estão na pasta /var/www/html/
www.meudominio.com.br. E o mesmo irá acontecer com o intranet.meudominio.com.br acessando/executando os arquivos/scripts que estão em /var/www/html/intranet.meudominio.com.br
No apache, a diretiva que informa o domínio é o ServerName ou no caso do nginx server_name
Até ai ok! correto? se não, procura na net sobre virtualhosts.
Proxy reverso
O proxy reverso se faz necessário quando você precisa conectar a uma aplicação que está em outra porta.
Exemplo prático.
Você tem um TOMCAT ou JBOSS/Wildfly rodando na porta 8080 de um servidor.
Você pode usar o proxy reverso para receber a conexão na porta 80 ou 443 (SSL/HTTPS) e ele faz a conexão no TOMCAT na porta 8080. Assim sendo, você não precisa fazer o redirecionamento de portas no seu modem (da 80 para a 8080).
Agora vamos ao seu ambiente.
Supondo que há um TOMCAT rodando na porta 8080 do seu servidor.
Instale o nginx ou apache e habilite (no caso do apache) o modulo http_proxy. - a2enmod http_proxy (acho que é isso).
configure os virtual hosts da seguinte forma:
default - receber qualquer nome/ip
www.seudominio.com.br - receber somente requisições para esse dominio e apontar para proxy_reverso para o ip do tomcat e porta.
Exemplo do nginx:
/etc/nginx/sites-enabled/default
### esse arquivo server para qualquer conexão que não seja utilizado em outros virtualhosts. Por exemplo se acessar o ip diretamente ou acessar um dominio que esteja apontado para esse ip mas não tem um dominio configurado no nginx.
server {
listen 80 default_server;
root /var/www/html/default;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
}
/etc/nginx/sites-enabled/meudominio.com.br.conf
### esse arquivo servirá para conectar ao tomcat e responderá pelos nomes meudominio.com.br e www.meudominio.com.br
server {
listen 80;
server_name www.meudominio.com.br dominio.com.br;
location / {
proxy_pass http://127.0.0.1:8080/;
#troque o 127.0.0.1:8080 pelo ip e porta do tomcat caso esteja em outra máquina ou outra porta
}
}
Se não entendeu, novamente, procure sobre virtualhosts no google ou leia a documentação do apache e nginx.