É possível hospedar um servidor web por trás de um NAT

18

Meu PC está por trás de um roteador NAT que possui um endereço IP público. Se eu quiser hospedar um site, acredito que preciso de um nome de domínio que eu possa comprar em algum site que prometa resolver todas as solicitações de DNS para esse nome de domínio e enviar o endereço IP do meu roteador NAT (supondo que não queira hospedar meu nome de domínio em seus servidores). Agora quero hospedar um servidor da web no meu computador.

  1. Quais alterações devem ser feitas na configuração do roteador NAT para encaminhar todas as solicitações HTTP de example.com para o meu PC na rede interna.
  2. A estratégia acima está correta?
  3. É comumente usado?
por Rohit Banga 18.03.2010 / 17:27

7 respostas

10

É possível hospedar um servidor atrás do NAT conforme você descreve.
Veja esta página de ajuda do Ubuntu em ServersBehindNAT para informações básicas.

Mais algumas referências,

  1. Hospedando o servidor Apache atrás de um NAT
  2. Configurando um servidor atrás de um NAT
    isso usa um roteador da série NAT Buffalo AirStation e exemplos de roteadores Linksys
  3. Método Compartilhamento de conexão com a Internet do Windows XP . se você tiver uma máquina Windows fazendo NAT
  4. [Se você estiver usando o XP, você também pode usar o IIS 6 5 (1 suporte de host virtual) por indo ao Painel de controle > Adicionar e Remover Programas > Adicionar componente do Windows > Serviços de Informações da Internet.

Isso pressupõe que você saiba como hospedar um servidor da Web e precisar de ideias sobre o NAT.

    
por 18.03.2010 / 17:37
4

Você pode configurar um túnel I2P .

Se você precisa apenas do TCP, você pode configurar um serviço oculto do Tor .

Se você só precisa hospedar páginas da Web estáticas, você pode configurar um site da ZeroNet .

Todos não requerem encaminhamento de porta.

    
por 14.08.2016 / 06:14
1
  1. Confira portforward.com . Eles têm instruções detalhadas para esse tipo de coisa, a idéia básica é que você precisa configurar o roteador para encaminhar solicitações TCP na porta 80 para o endereço IP do seu computador. Isso traz outra coisa: você precisará configurar seu computador para ter um IP estático. Se você tiver um servidor DHCP em execução no seu roteador (que é o caso em 97% dos casos), certifique-se de atribuir um acima ou abaixo dele. Um google para "endereço IP estático da LAN" provavelmente mostrará instruções sobre como configurá-lo em vários sistemas operacionais.
  2. Ele funcionará desde que seu ISP não esteja bloqueando conexões de entrada na porta 80; alguns fazem isso por motivos de segurança.
  3. Talvez. É o que estou fazendo agora com ftp, http, ssh, vnc, xmpp e algumas outras coisas ...

Você também precisa executar um servidor da Web no seu computador. Basta pegar o Apache, ele roda em quase tudo e é o que a maioria dos sites usa.

    
por 18.03.2010 / 17:42
0

Outra alternativa pode ser algo como homelinux, onde seu endereço IP dinâmico pode ser mapeado para um statix .homelinux. URL

Existem também outras opções além de "homelinux"

link

    
por 18.03.2010 / 17:50
0
  1. transmita o tráfego tcp para o seu roteador na porta 80 para o seu PC em port_whatever_you_are_running_your_webserver

  2. você não precisa de um nome de domínio para permitir que outras pessoas acessem seu servidor da web, o ip público é suficiente. um nome de domínio para o seu ip público é apenas mais conveniente. caso contrário, seu plano parece ok.

  3. seu roteador é apenas "um firewall" entre o público e seu servidor. essa configuração é bastante comum.

por 18.03.2010 / 17:37
0

Depois de verificar todas essas respostas e as instruções relacionadas, percebi que elas envolvem configurações elaboradas com programas grandes (que são parcialmente feitos para outros propósitos) e arquivos de configuração e outras coisas, então decidi escrever minha própria solução.

link

É um script python de 250 linhas, que você pode executar diretamente a partir do checkout do git.

Exemplo: Você tem um servidor HTTP escutando em sua máquina local na porta 80. Você deseja disponibilizá-lo no servidor público do seu servidor de nuvem / VPS / etc na porta 7000. Usamos a porta 8000 no servidor de nuvem para o controle canal.

use como

Servidor:

natsrv.py --mode server --secret s3cretP4ss --public 0.0.0.0:7000 --admin 0.0.0.0:8000

Cliente:

natsrv.py --mode client --secret s3cretP4ss --local localhost:80 --admin example.com:8000
    
por 23.09.2018 / 15:35
-2

Sua estratégia é muito comumente usada e se você comprou um IP público, então é muito bom ir.

Você deve obter o XAMPP. O XAMMP pré-configurado e o Apache usarão a porta 80 por padrão. Certifique-se de que nenhum outro processo esteja sendo executado na porta 80, senão o Apache não será executado. Geralmente o Skype (se você usa o skype) joga esportes estragados e porta 80, você precisa desabilitá-lo das configurações de conexão.

Ele contém Apache, PHP e Mysql e cuida de todas as suas necessidades. Apenas não se esqueça de protegê-lo bem .

Tenha em mente que o XAMPP não é um software de produção, mas deve atender às suas necessidades de hospedar um site / blog pessoal.

Mais uma coisa, se você quiser que este site seja aberto 24 horas por dia, então você teria que manter o seu computador em praticamente 24/7.

Se você precisar de um domínio gratuito, você pode obter um co.cc para uso pessoal, e ele será renovado a cada ano

    
por 18.03.2010 / 17:33