Como posso transformar meu PC em casa em um servidor web?

8

Estou executando o Apache Tomcat no meu PC. Meu PC está conectado a um roteador em minha casa e o roteador está conectado ao meu ISP. Agora eu quero executar um servidor no meu PC para que meu amigo possa ver meu site hospedado no meu PC. Se eu for ao site https://whatismyip.com , sei que meu endereço IP é xx.xx.xx.xx. Este é o IP do meu roteador, eu acho. Se eu digitar http: //xx.xx.xx.xx no meu navegador, meu roteador solicitará um nome de usuário e uma senha. Isso significa que meu amigo pode se conectar ao meu roteador. Como posso permitir que eles vejam o site hospedado no Tomcat em execução no meu PC?

Não quero usar hospedagem comercial e quero usar meu PC apenas como servidor devido a alguns motivos.

O IP interno do meu roteador é 192.162.1.1 e do meu PC é 192.162.1.2.

Glorfindel
fonte
3
Não, não falha no servidor. Esta é uma pergunta do usuário final - e não uma questão de administrador de sistemas. Isso deve ir para superuser.com.
Talvez você esteja por trás de um proxy.
Presumo que este PC esteja executando o Windows? Um PC executando Linux exigiria instruções ligeiramente diferentes.
David Thornley

Respostas:

14

Você precisa encaminhar solicitações ao servidor da web (porta 80, provavelmente) para sua máquina (.1.2). Você configura isso no seu roteador.


fonte
2
Observe que isso geralmente é conhecido como "Port Forwarding" nos roteadores. Um método mais fácil, embora menos seguro, é usar o DMZ no seu roteador para abrir todas as portas do servidor da web. Isso às vezes faz com que seja mais fácil quando hospedando vários serviços em seu servidor web, tais como servidores de jogo, servidores VoIP, etc.
Will Eddins
1
E tenha muito cuidado ao abrir portas para solicitações recebidas. Há muita gente por aí batendo nas portas em endereços IP aleatórios para ver quem responde.
David Thornley
11

Você precisará fazer algumas coisas:

  • Altere a senha do seu roteador e bloqueie-o, pois você estará disponibilizando seu IP publicamente, a configuração do seu roteador é muito importante. Provavelmente, seria uma boa ideia fazer o download do firmware mais recente para evitar explorações de segurança.

  • Encaminhe suas solicitações da Web para sua máquina local, no seu roteador. Procure uma opção de "encaminhamento de porta", que forçará todas as solicitações em uma determinada porta em que seu roteador seja encaminhado para o endereço IP da sua máquina

  • tente garantir que seu endereço IP interno permaneça o mesmo. Alguns roteadores avançados podem reservar um determinado endereço IP para o endereço MAC do seu computador, portanto faça essa configuração no seu roteador. Se o software do roteador não puder fazer isso, você provavelmente precisará atualizar seu endereço IP interno no mapeamento "encaminhamento de porta" sempre que o computador reiniciar (ou obter outro endereço IP de alguma forma). Você também pode configurar o computador para usar um endereço IP interno codificado, mas isso pode adicionar outros problemas fora do escopo para discussão aqui.

  • se você é um provedor de serviços de Internet, fornece um endereço IP dinâmico, pode ser complicado enviar seu novo endereço IP a seu amigo toda vez que ele for alterado, para que você possa se inscrever em um serviço IP dinâmico (www.dyndns.org) que terá um programa que atualizará uma entrada de DNS para você. A maioria dos roteadores modernos possui esse servidor embutido no firmware; você pode procurá-lo e não precisa executar o software em sua máquina.

  • por motivos de segurança, reduza o número de outras solicitações que estão sendo enviadas para esta máquina (por exemplo, compartilhamento de arquivos do Windows, ftp, bit torrent, etc etc).

  • A porta 80 é a porta padrão usada pelos navegadores e servidores da web; portanto, quando você acessa um site http://www.mysite.com , solicita-o na porta 80)

  • A porta 8009 é a porta padrão usada pelo tomcat, portanto, se você estiver usando o tomcat, poderá substituir a porta 80 pela porta 8009 abaixo.

  • Você não precisa fazer nenhuma outra configuração de porta para o servidor da web em sua máquina local; o roteador pode fazer o mapeamento e deixar o servidor em execução nas portas 80 ou 8009 da sua máquina.

  • Por exemplo, digamos que eu queira usar a porta 12345, posso configurar meu roteador para que todas as solicitações na porta 12345 no meu roteador sejam enviadas para a porta 80 (ou 8009) na minha máquina local. Isso permite que você possa acessar nosso servidor Web nessa máquina simplesmente acessando http: // localhost / ou http: // localhost: 8009 . Outras máquinas internas da sua rede terão que acessar pelo endereço IP ( http: //192.168.1 . X ) ou você poderá editar os arquivos de hosts yoru e atribuir um nome.

  • É importante saber que a maioria das portas de bloqueio do ISP 80 (e outras portas comuns) é usada como servidor da Web . Portanto, mesmo se você tiver tudo configurado, seu amigo ainda não poderá acessar a porta 80 em sua máquina . Isso geralmente é feito para que os clientes do ISP paguem mais dinheiro por suas ofertas "comerciais". Por esse motivo, você provavelmente terá que abrir seu roteador em outra porta se realmente quiser que seu amigo acesse seu servidor web. Você vai querer ficar longe de portas de baixo número e evitar a utilização da porta na qual o roteador também está configurado.

Se você fizer tudo isso corretamente, poderá ter um URL estável (como http://myusername.dyndns.org:12345 ) que seus amigos podem marcar e usar à vontade

Roy Rico
fonte
1

Você precisa encaminhar sua porta tomcat no seu roteador. A porta tomcat padrão é 8080. É melhor alterar sua porta tomcat para 80. Siga as etapas a seguir para alterar sua porta tomcat

  1. Abra a pasta tomcat \ conf no seu computador
  2. Agora, com um editor de texto, você precisa abrir e modificar o server.xml. Aqui você deve identificar a seguinte linha (linha 184) e modificá-la para que mude de:

para:

<Http10Connector port="80"
secure="false"
maxThreads="100"
maxSpareThreads="50"
minSpareThreads="10" />
  1. Inicializando o servidor da web

Do roteador, encaminhe a porta 80 do roteador para o endereço IP do seu PC. Feito isso, informe seu amigo para acessar seu site usando http: //xx.xx.xx.xx/webAppName . Aqui xx.xx.xx.xx é o seu endereço IP e webAppName é o projeto do seu site.

Por padrão, os ISPs bloquearão a porta 8080, portanto, você deve alterar a porta que o tomcat usa.


fonte
Os ISPs geralmente não bloqueiam portas por padrão. Pode ser o caso da sua cidade / país (suponho que seja nos EUA), mas esse certamente não é o caso em geral. Em muitos países, os ISPs realmente têm termos de serviço bastante justos, sem nenhum bloqueio de porta (ou limite de largura de banda).
Mikael Auno 12/08/2009
A mina bloqueia a porta 80, mas permite 8080! É diferente para cada ISP.
22610 Kevin Panko
0

Se você não estiver interessado no encaminhamento de porta ou se parecer complicado, a maioria dos roteadores possui uma configuração chamada DMZ. Coloque seu servidor da Web (a máquina que hospeda o site) na DMZ para permitir que ele seja visto do mundo exterior. Então, se você não registrou um nome de domínio, faça com que seu amigo digite seu IP no navegador dele.

user5195
fonte
Dado que o OP aparentemente não é um especialista nesse tipo de coisa, sugiro não desbloquear efetivamente todas as portas. Existem explorações suficientes por aí, e não há fim de pessoas verificando portas e endereços IP para tentar usá-las, e alguém que precise de ajuda nesse nível provavelmente não saberá como detê-las. DMZ é como "PWN ME".
David Thornley
0

Você precisará configurar o "encaminhamento de porta" no roteador da porta 80 (http) para o seu PC e também recomendo configurar o "DHCP estático" para que o roteador sempre atribua o mesmo IP ao seu PC ao inicializar.

Observe que você está expondo seu PC ao mundo dos hackers quando faz isso. Verifique se você possui uma versão atual do apache / tomcat instalada e se aplica atualizações regularmente.

Se o seu roteador o suportar, convém configurar o "DNS dinâmico" para dar à sua máquina um nome permanente na Internet (em vez de um número de IP às vezes alterado). Confira dyndns.com e veja as opções de DNS dinâmico gratuitas.

Chris Nava
fonte
0

O IP estático é obrigatório ... Se você possui um IP dinâmico, ele continua mudando e precisa se familiarizar com o seu amigo sobre o novo IP.

Satish Ravipati
fonte