Primeiro de tudo, você está misturando dois conceitos em uma única ideia.
- Reencaminhamento de portas TCP / IP
- Redirecionamento de HTTP
Você pode conseguir o que quer combinando os dois, mas eles são conceitos separados.
Redirecionamento de HTTP
Então, vamos ignorar o encaminhamento de porta por enquanto. Vamos configurar a parte de redirecionamento primeiro.
$ sudo editor /etc/apache2/sites-available/thews_site
Isso cria um novo arquivo de configuração para uma nova configuração do site no Apache. Nele, podemos colocar toda a configuração do nosso site.
Nosso VirtualHost
Vamos definir seu novo site Apache:
NameVirtualHost *:12345
<VirtualHost *:12345>
Redirect / http://www.superuser.com
</VirtualHost>
Isso cria um novo site que pode ser alcançado em qualquer IP local, mas somente na porta 12345
.
A definição do site em si é bastante curta. Tem apenas 1 entrada de configuração. O redirecionamento para o site de destino.
Configuração da porta do Apache
Também precisamos informar ao Apache para ouvir nossa nova porta!
$ sudo echo "Listen 12345" >> /etc/apache2/ports.conf
Isso adicionará a linha Listen 12345
no final de /etc/apache2/ports.conf
. Como alternativa, você pode adicioná-lo usando um editor de texto.
Agora vamos ativar o site
$ sudo a2ensite thews_site
$ sudo invoke-rc.d apache2 restart
Isso definirá nosso site definido anteriormente como ativado . O segundo comando reiniciará o Apache.
Teste
Se você inserir http://localhost:12345
em seu navegador agora, você deve ser redirecionado para superuser.com
!
Encaminhamento de porta
Agora você pode configurar o encaminhamento de portas . Você faria isso no seu roteador. Informe ao seu roteador para encaminhar sua porta pública 33333
para sua porta local 12345
.
Agora, se alguém navegar até your-public-ip:33333
, eles serão redirecionados para superuser.com
.
Estes exemplos foram todos para ambientes baseados em Debian. Espero que você possa adaptá-los se precisar.
Boa sorte:)