Olá novamente StackExchange! Primeira postagem no Superusuário.
Instalei o Apache e o PHP no meu computador e funciona perfeitamente quando digito "localhost" no meu computador. Mas o que eu quero é que quando alguém digitar http://<my ip>:<random port number that isn't used>
eu quero que ele redirecione para http://localhost/internet/
. Como faço isso com encaminhamento de porta? E o que preciso configurar no Apache?
Eu sei que esta pode ser a pergunta nº 87465094 sobre encaminhamento de porta, mas não vi nenhuma solução para o meu problema aqui no Superusuário nem no resto da Internet.
O W
Responder1
Primeiro de tudo, você está misturando dois conceitos em uma ideia.
- Encaminhamento de porta TCP/IP
- Redirecionamento HTTP
Você pode conseguir o que deseja combinando os dois, mas são conceitos separados.
Redirecionamento HTTP
Então, vamos ignorar o encaminhamento de porta por enquanto. Vamos configurar primeiro a parte de redirecionamento.
$ sudo editor /etc/apache2/sites-available/thews_site
Isso cria um novo arquivo de configuração para um novositeconfiguração no Apache. Nele podemos colocar toda a configuração do nosso site.
Nosso Host Virtual
Vamos definir seu novo site Apache:
NameVirtualHost *:12345
<VirtualHost *:12345>
Redirect / http://www.superuser.com
</VirtualHost>
Isso cria um novo site que pode ser acessado em qualquer IP local, masapenasno porto 12345
.
A definição do site em si é bastante curta. Possui apenas 1 entrada de configuração. O redirecionamento para o site de destino.
Configuração da porta Apache
Também precisamos dizer ao Apache para escutar em nosso novo port!
$ sudo echo "Listen 12345" >> /etc/apache2/ports.conf
Isso adicionará a linha Listen 12345
no final de /etc/apache2/ports.conf
. Alternativamente, você mesmo pode adicioná-lo usando um editor de texto.
Agora vamos habilitar o site
$ sudo a2ensite thews_site
$ sudo invoke-rc.d apache2 restart
Isso definirá nosso site previamente definido comohabilitado. O segundo comando irá reiniciar o Apache.
Teste
Se você entrar http://localhost:12345
no seu navegador agora, deverá ser redirecionado para superuser.com
!
Encaminhamento de porta
Agora você pode configurar oencaminhamento de porta. Você faria isso no seu roteador. Diga ao seu roteador para encaminhar sua porta pública 33333
para sua porta local 12345
.
Agora, se alguém surfasseyour-public-ip:33333
elesser redirecionado para superuser.com
.
Esses exemplos foram todos para ambientes baseados em Debian. Esperamos que você consiga adaptá-los se precisar.
Boa sorte :)