Guía para implementar el servicio de proxy inverso Pinggy en ServBay
Pinggy es una herramienta de fácil uso para el acceso remoto, que, a través de la tecnología de proxy inverso, permite exponer de manera segura sus servicios locales en Internet. Esta guía detalla cómo utilizar Pinggy en el entorno de ServBay para habilitar rápidamente el acceso a servicios web locales desde Internet.
Principios Técnicos
Pinggy establece un túnel SSH seguro que mapea los servicios locales que están detrás de un NAT/firewall a la red pública. En el escenario de ServBay, esto permite a los desarrolladores publicar en tiempo real servicios web que están en fase de prueba, facilitando la colaboración en equipo, pruebas remotas y demostraciones.
Preparación del Entorno
¡No es necesario instalar ningún cliente! Una de las mayores ventajas de Pinggy es que no requiere la instalación de software en la computadora local. Solo necesita un terminal que soporte SSH.
Configuración del Túnel
Comandos Clave
Establecer un túnel con Pinggy es muy sencillo. Solo necesita ejecutar el siguiente comando en el 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 del Parámetro | Descripción de la Función |
---|---|
-p 443 | Especifica que el puerto para conectar con el servidor de Pinggy es 443 (puerto por defecto para HTTPS). |
-R0:localhost:443 | Reenvío de puerto remoto. 0 significa que el servidor de Pinggy asignará automáticamente un puerto aleatorio. localhost:443 significa que el puerto remoto se reenviará al puerto 443 local (HTTPS). |
-o StrictHostKeyChecking=no | Desactiva la comprobación de claves de host SSH (súper conveniente para conexiones iniciales o pruebas, pero no recomendada en producción). |
-o ServerAliveInterval=30 | Envía un mensaje de "mantener vivo" cada 30 segundos para mantener activa la conexión SSH. |
-t [email protected] | Nombre de usuario y dirección del servidor de Pinggy. |
x:localServerTls:servbay.new | Parámetros personalizados de Pinggy, especificando que el dominio TLS del servidor local es servbay.new . |
"u:host:servbay.new" | Parámetros personalizados de Pinggy que establecen el encabezado Host de las solicitudes entrantes como servbay.new . |
Una vez que el comando se ejecute con éxito, se mostrará la URL de acceso:
http://rnirh-172-188-50-148.a.free.pinggy.link
https://rnirh-172-188-50-148.a.free.pinggy.link
2
Verificación del Servicio
- Verificación con
curl
(recomendado): Utilice el comandocurl
para realizar pruebas.
curl -I https://rnirh-172-188-50-148.a.free.pinggy.link
La salida será la siguiente:
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
Acceso desde el Navegador: Abra directamente el navegador y acceda a
https://rnirh-172-188-50-148.a.free.pinggy.link
Resultados Esperados:
- Se presentarán contenidos web que coinciden con el servicio ServBay local.
- Si su servicio local está configurado con HTTPS, Pinggy también soportará automáticamente HTTPS.
- Los tiempos de respuesta suelen ser rápidos (dependiendo de su red local y la conexión al servidor de Pinggy).
Consejos Avanzados
Nombre de Dominio Personalizado: Los usuarios de Pinggy Pro pueden utilizar nombres de dominio personalizados. Consulte la documentación de Pinggy para más detalles.
Túnel TCP: Si su servicio no es HTTP/HTTPS, puede utilizar la función de túnel TCP de Pinggy:
bashssh -R <REMOTE_PORT>:localhost:<LOCAL_PORT> a.pinggy.io
1Sustituya
<REMOTE_PORT>
por el puerto que desee usar en el servidor de Pinggy.Túnel Persistente (usando
autossh
): Si su red es inestable o desea mantener un túnel durante un período prolongado, se recomienda usarautossh
.autossh
reconecta automáticamente después de que se interrumpe la conexión SSH.
Solución de Problemas
Síntoma | Solución |
---|---|
Tiempo de conexión agotado | Verifique si el servicio de ServBay está funcionando y si <LOCAL_PORT> es correcto. |
Error 404 (No encontrado) | Si está utilizando un host virtual, asegúrese de que está usando el comando curl correctamente de acuerdo con las instrucciones en "Ejemplo de Configuración" (con el encabezado Host correcto). |
No se puede acceder a la URL de Pinggy | Verifique su conexión a Internet y asegúrese de que puede acceder a a.pinggy.io . |
Desconexiones intermitentes | Esto puede ser debido a una red inestable. Intente usar autossh para establecer una conexión más estable (consulte la sección "Consejos Avanzados"). |
Resumen de la Solución
A través de Pinggy, los desarrolladores pueden crear un canal de acceso seguro a Internet en el entorno de ServBay de manera extremadamente sencilla y rápida. Esta solución tiene las siguientes ventajas:
- Sin necesidad de instalar clientes: Simplifica el proceso de configuración y reduce las dependencias.
- Operación con un solo comando: Puede iniciar el túnel con un solo comando SSH.
- Soporte automático de HTTPS: No es necesario configurar manualmente certificados SSL.
- Soporte para túneles HTTP y TCP: Satisface varios tipos de necesidades de servicios.
- Comandos sin token: Permite compartir la URL directamente, sin preocuparse por la filtración de tokens.
Pinggy ofrece una manera más conveniente que Ngrok, especialmente adecuada para pruebas rápidas y para compartir servicios locales temporalmente. Para aquellos que necesitan funcionar de manera estable a largo plazo o personalizar un nombre de dominio, se puede considerar la versión Pro de Pinggy.