Domínios de terceiro nível [duplicados]

1

Eu tenho um computador Linux acessível pela Internet e registrei um serviço de DNS dinâmico gratuito, digamos que seu endereço na Internet seja xx.yy.com.

Neste computador eu tenho dois processos de escuta: tomcat na porta 80 e um pequeno programa escrito por mim no 8080.

Como esperado, posso alcançar esses dois, respectivamente, com as URLs "xx.yy.com" e "xx.yy.com:8080". Eu gostaria de configurar um domínio de terceiro nível para ligar à porta 8080, para que quando eu digito (por exemplo) "aa.xx.yy.com" em um navegador, ele tenha os mesmos efeitos de "xx.yy.com : 8080 ".

Eu não tenho ideia de como fazer isso, isso pode ser feito via configuração do tomcat (eu preferiria que fosse uma configuração do sistema do que ter que confiar no tomcat)?

Eu tenho que configurar algum daemon para fazer isso por mim (eu li sobre bind)?

Pode ser feito para que a porta 8080 fique oculta? Eu percebi que minha rede de trabalho bloqueia conexões de saída em portas que não são 80 ou 443. Então eu descobri que uma boa solução para isso pode ser mover o tomcat em outra porta e colocar algo em 80 para redirecionar internamente o tráfego para o soquete correto . Isso pode ser feito? Como? Qualquer guia por aí?

Obrigado

    
por capitano666 14.02.2014 / 16:01

2 respostas

1

Você pode pesquisar a SRV Records, mas sua pergunta está fundamentalmente ausente do que o DNS realmente faz.

Não obstante o SRV Recrod acima mencionado, tudo que o DNS faz é traduzir um nome (por exemplo, host.example.com) para um endereço IP (169.254.1.2); nada mais. É uma "lista telefônica de rede". Ele não sabe ou se preocupa com portas individuais em um host que é atribuído a um endereço IP.

Dito isso, há maneiras de fazer o que você pergunta:

  • Apache VirtualHost s qual proxy para o local desejado
  • Páginas da Web que configuram uma janela completa IFRAME que carrega o local desejado em um frams
  • iptables ou outro shenannigans de firewall
por 14.02.2014 / 16:32
1

Isso pode ser feito usando o Apache ProxyPass module

Esta etapas para o servidor Ubuntu

Etapa 1 # Instale o módulo ProxyPass

  • sudo apt-get install libapache2-mod-proxy-html libxml2-dev

Etapa 2 # Ativar módulo

  • a2enmod proxypass

  • a2enmod proxy

Etapa 3 # Defina as seguintes diretivas no respectivo contêiner virtual

NameVirtualHost *:80
<VirtualHost aa.xx.yy.com:80>
     ServerAdmin [email protected]
     ServerName aa.xx.yy.com

     ProxyRequests On
     ProxyPass /   http://xx.yy.com:8080
     ProxyPassReverse /   http://xx.yy.com:8080

     # Uncomment the line below if your site uses SSL.
     #SSLProxyEngine On
</VirtualHost>

Etapa 4 # recarregar o apache

  • /etc/init.d/apache2 reload

Agora teste seu URL e verifique os registros de erros se houver algum problema ao carregar a página da web

    
por 14.02.2014 / 17:10

Tags