Guia de Implantação do Serviço de Proxy Reverso Pinggy no ServBay
Pinggy é uma ferramenta de penetração em rede interna simples e de fácil utilização que, através da tecnologia de proxy reverso, pode expor com segurança seus serviços locais à internet. Este guia detalhará como usar o Pinggy no ambiente ServBay para implementar rapidamente o acesso à internet para seus serviços web locais.
Princípio Técnico
O Pinggy estabelece um túnel SSH seguro, mapeando os serviços locais que estão atrás de NAT/firewall para a internet pública. No contexto do ServBay, isso permite que os desenvolvedores publiquem facilmente serviços web de depuração local em tempo real, facilitando a colaboração em equipe, testes remotos e apresentações.
Preparação do Ambiente
Não é necessário instalar nenhum cliente! Uma das maiores vantagens do Pinggy é que ele não requer a instalação de nenhum software em seu computador local. Você apenas precisa de um terminal que suporte SSH.
Configuração do Túnel na Prática
Comandos Principais
É muito simples estabelecer um túnel usando o Pinggy. Basta executar o seguinte comando no terminal:
ssh -p 443 -R0:localhost:443 -o StrictHostKeyChecking=no -o ServerAliveInterval=30 -t [email protected] x:localServerTls:servbay.new "u:host:servbay.new"
Componente do Parâmetro | Descrição da Função |
---|---|
-p 443 | Especifica que a conexão SSH ao servidor Pinggy deve ser feita pela porta 443 (porta padrão HTTPS). |
-R0:localhost:443 | Redirecionamento de porta remota. 0 indica que o servidor Pinggy deve alocar automaticamente uma porta aleatória. localhost:443 indica o redirecionamento da porta remota para a porta 443 local (HTTPS). |
-o StrictHostKeyChecking=no | Desabilita a verificação da chave do host SSH (útil durante a primeira conexão ou teste, mas não recomendado em ambientes de produção). |
-o ServerAliveInterval=30 | Envia uma mensagem keep-alive a cada 30 segundos para manter a conexão SSH ativa. |
-t [email protected] | Nome de usuário e endereço do servidor Pinggy. |
x:localServerTls:servbay.new | Parâmetro personalizado do Pinggy, especificando o domínio TLS do servidor local como servbay.new . |
"u:host:servbay.new" | Parâmetro personalizado do Pinggy que define o cabeçalho Host das requisições entrantes como servbay.new . |
Após a execução bem-sucedida do comando, será exibido o endereço URL para acesso.
http://rnirh-172-188-50-148.a.free.pinggy.link
https://rnirh-172-188-50-148.a.free.pinggy.link
2
Verificação do Serviço
- Verificação com
curl
(recomendado): Teste usando o comandocurl
.
curl -I https://rnirh-172-188-50-148.a.free.pinggy.link
O conteúdo de saída será:
HTTP/1.1 200 OK
Connection: close
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Content-Type, Authorization
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin: *
Cache-Control: max-age=0, must-revalidate, no-cache, no-store, private
Connection: keep-alive
Content-Type: text/html; charset=UTF-8
Date: Tue, 18 Feb 2025 11:51:48 GMT
Expires: Sun, 02 Jan 1990 00:00:00 GMT
Pragma: no-cache
Server: nginx
Vary: Accept-Encoding
X-Frame-Options: SAMEORIGIN
X-Powered-By: PHP/8.4.3
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Acesso pelo navegador: Abra diretamente o navegador e acesse
https://rnirh-172-188-50-148.a.free.pinggy.link
Resultados Esperados:
- Apresentar conteúdo web consistente com os serviços ServBay locais.
- Se seus serviços locais estão configurados com HTTPS, o Pinggy também suportará HTTPS automaticamente.
- O tempo de resposta costuma ser rápido (dependendo da sua rede local e da conexão com o servidor Pinggy).
Dicas Avançadas
Domínio Personalizado: Os usuários Pinggy Pro podem usar domínios personalizados. Para mais informações, consulte a documentação do Pinggy.
Túnel TCP: Se seus serviços não utilizam HTTP/HTTPS, você pode usar a funcionalidade de túnel TCP do Pinggy:
bashssh -R <REMOTE_PORT>:localhost:<LOCAL_PORT> a.pinggy.io
1Substitua
<REMOTE_PORT>
pela porta que você deseja usar no servidor Pinggy.Túnel Persistente (Usando
autossh
): Se sua rede é instável, ou se você deseja manter o túnel ativo por longos períodos, recomenda-se usar oautossh
. Oautossh
reconectará automaticamente após uma desconexão do SSH.
Solução de Problemas
Sintoma | Solução |
---|---|
Conexão expirou | Verifique se o serviço ServBay está em execução e se <LOCAL_PORT> está correto. |
Erro 404 (Não encontrado) | Se estiver usando um host virtual, assegure-se de usar o comando curl conforme as instruções no "Exemplo de Configuração" (com o cabeçalho Host correto). |
Não é possível acessar a URL do Pinggy | Verifique sua conexão de rede e certifique-se de poder acessar a.pinggy.io . |
Desconexões intermitentes | Isso pode ser causado por uma rede instável. Tente usar autossh para estabelecer uma conexão mais estável (consulte a seção "Dicas Avançadas"). |
Resumo da Solução
Com o Pinggy, os desenvolvedores podem estabelecer um canal de acesso seguro e público de forma extremamente simples e rápida no ambiente ServBay. Esta solução possui as seguintes vantagens:
- Sem necessidade de instalação de cliente: Simplifica o processo de configuração e reduz dependências.
- Operação com um clique: O túnel pode ser iniciado por um único comando SSH.
- Suporte automático a HTTPS: Não há necessidade de configurar manualmente certificados SSL.
- Suporte a túneis HTTP e TCP: Atende a diversas necessidades de serviços.
- Comando sem token: É possível compartilhar diretamente o URL, sem preocupações sobre vazamento de token.
O Pinggy oferece um método mais conveniente do que o Ngrok, especialmente para testes rápidos e compartilhamento temporário de serviços locais. Para cenários que exigem operação estável a longo prazo ou domínios personalizados, considere a versão Pro do Pinggy.