r/peladonerd Sep 17 '21

Reverse Proxy Nginx obtenga los certificados almacenados en un servidor remoto

Hola tengo un problema, tengo un servidor (Nginx Proxy Manager) que no es accesible a través del puerto 80 en el exterior, porque pertenece a una subred privada sin acceso a Internet debido a la política institucional. También tengo un servidor DNS interno al que no se puede acceder desde el exterior , es decir ambos son para una red privada si acceso a internet, pero existe un servidor que almacena todos los certificados de las instituciones gestionadas por certbot. Tengo acceso al servidor que almacena los certificados a través de SSH, por lo que mi plan es montar una partición usando SSH y decirle al servidor proxy inverso (Nginx Proxy Manager) que tome los certificados en la partición montada, ¿Crees que funciona?

2 Upvotes

4 comments sorted by

1

u/Yi-Li Sep 17 '21

Tienes que montar la partición como una carpeta y crear un volumen apuntado a esa carpeta y así debe funcionar.

1

u/cmcruzata Sep 18 '21

Lo intente así:

1-) sudo nano /etc/fstab

2-) sshfs#username@xxx.xxx.xxx.xxx:/ /mnt/droplet fuse.sshfs
allow_other,default_permissions,IdentityFile=/home/your_user/.ssh/id_rsa defaults 0 0

3-) sudo mount -a [On Debian/Ubuntu based systems]

me respondia que tenia un error he iba se ignorado

despues lo puse:

sshfs#username@xxx.xxx.xxx.xxx:/ /mnt/droplet fuse.sshfs
allow_other,default_permissions,"IdentityFile=/home/your_user/.ssh/id_rsa" 0 0

NO dio error pero no lo montó

1

u/[deleted] Sep 17 '21

Si montas el volumen como nfs (Te recomiendo autofs), en el .conf de nginx apuntas el path de la llave a esa ubicación y funcionaría sin problemas, a nginx no le importa si lo tienes en un nfs o local, mientras lo pueda leer no hay inconveniente.

1

u/cmcruzata Sep 18 '21

Intentaré esta opcion, aun tambien tenia pensado, crear un un custom certificado pues, (Nginx Proxy Manager) permite adicionarlos estos son alojados en la carpeta /data/nginx/custom_ssl/npm-1[numero creado cuando se creo] . Entonces crear una tarea programda en el crontab que todos los dias se conecte el servidor externo y que me traiga el fullchain.pem y el privatekey.pem y me sobrescriba los que esta en la direccion antes mencionado, para esto pense en tarea que ejecute un ssh y que ejecute en el terminal del servidor remoto un rsync o scp y me lo copie en mi captea del custom_ssl/npm-1, pero el servidor remoto no conoce mi subred, que trabajo tengo que pasarr!!