Uso de su cloudron como proxy inverso
Socialism.tools Admin
2021-07-06

Si aloja su Cloudron en casa, es posible que tenga otras aplicaciones que se ejecutan en otras máquinas locales para las que desea crear un proxy inverso. Un proxy inverso le permite teclear myapp.domain.com y ser dirigido a su aplicación local, que normalmente no ejecuta un servidor web en el puerto 80/443. Antes de un proxy inverso, sólo puedo acceder a las aplicaciones que ejecuto en mi casa, utilizando su IP. Un proxy inverso tiende un puente entre el mundo exterior y su red interna, y en nuestro caso proporciona seguridad SSL.

Si aloja Cloudron en la nube, cada una de sus máquinas virtuales tendrá su propia dirección IP y probablemente no necesitará un proxy inverso.

Cloudron viene con el popular servidor web NGINX ya instalado. Configura los proxies inversos para las aplicaciones de Cloudron por sí mismo, pero añadir más proxies inversos para las aplicaciones que no son de Cloudron no está explícitamente soportado – sin embargo, usted puede hacerlo con un mínimo esfuerzo.

En primer lugar, accede por SSH a tu caja de Cloudron. Si no lo has hecho antes, utiliza Terminal en Mac o pulsa Win+X en Windows y selecciona Powershell (Admin) y luego pega

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Esto instala OpenSSH. SSH es como abrir una consola remota en el servidor de destino. Es sólo texto.

Después de haber iniciado la sesión con el nombre de usuario cloudron y su contraseña, ejecute cd /etc/nginx/applications para cambiar su directorio actual de la carpeta de inicio a NGINX.

Ahora, crea un nuevo archivo .conf con el nombre de tu aplicación (por ejemplo, lidarr.conf). Pega lo siguiente dentro del archivo conf, editando las tres URIs listadas:

server {

nombre_del_servidor nombre_del_servidor.sudominio.com;

ubicación /la-ruta-del-proxy-comprueba-su-app-docs-para-esto {

proxy_pass http://internal.ip:port;

}

}

Este es un ejemplo de lo que uso para tener un proxy inverso a mi NAS Synology:

server {
server_name syno.mydomain.com;
location / {
proxy_pass http://192.168.1.222:5000;
proxy_set_header Host $host;
proxy_redirect http:// https://;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}

Las líneas adicionales le dicen a NGINX que reenvíe cosas como Websockets, que Synology necesita. Con un poco de búsqueda en línea, puedes ver si tu aplicación necesita estas líneas o no. Te recomiendo que pruebes primero sin ellas y que las añadas si tienes problemas al probarlas.

A continuación, tenemos que instalar Certbot, que mantendrá automáticamente su sitio seguro con HTTPS de forma gratuita. Es tan fácil como:

  1. sudo apt-get install python3-certbot-nginx
  2. sudo certbot –nginx
  3. seleccione el sitio que acaba de crear en su archivo .conf
  4. habilitar los redireccionamientos cuando se solicite

Eso es todo. Si abre su .conf de nuevo verá que se ha añadido algo más de información para soportar HTTPS, pero no tiene que hacer nada. Puedes tener tantas entradas como quieras, pero ten mucho cuidado de asegurarte de que no editas un archivo de Cloudron o intentas coger un subdominio que Cloudron necesita.

 

Pin It on Pinterest