En /etc/nginx/sites-available hay un fichero llamado plantilla.conf
Hay que copiar este fichero a otro con el nombre del servicio, por ejemplo, calibre.conf
En el fichero calibre.conf hay que cambiar el nombre del dominio, en este caso a calibre.reymota.es
En es mismo fichero hay que poner el puerto NodePort que tiene asociado nuestro servicio en kubernetes.
Se guarda el fichero y se crea un enlace simbólico en /etc/nginx/sites-enabled
ln -s /etc/nginx/sites-available/calibre.conf /etc/nginx/sites-enabled
y se reinicia nginx
systemctl restart nginx
Luego, en IONOS hay que crear un registro A en la pestaña DNS de nuestro dominio y que apunte a la ip pública
Con esto ya podríamos acceder a nuestro servicio, pero sin HTTPS.
Para instalar el certificado let's encrypt hay que llamar a
sudo certbot --nginx
La fuente es esta
nos pedirá sobre qué dominio lo queremos hacer y nos ofrecerá las opciones que no son más que los que hayamos puesto en /etc/nginx/sites-enabled
Una de las preguntas es:
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration.
hay que elegir la 2.
Una vez hecho ya funcionara con https.
Por último, para que nuestra dirección pública sea vista por ionos hay que registrarla para es dominio.
Esto se hace con
domain-connect-dyndns setup --domain calibre.reymota.es
el resultado es un enlace para que lo abramos en el navegador y autoricemos la asociación entre el dominio y nuestra IP pública.
Entramos en sesión si no lo estamos ya y le damos a permitir. Esto nos garantiza el acceso y nos da un código que hay que copiar y pegar en la petición que nos está haciendo domain-connect-dyndns
Listo. El resultado se ha escrito en un fichero en el mismo directorio desde donde se lanza el programa.
Debería de estar en /root/dydns. El fichero se llama settings.txt y tiene que tener todos los dominios que hemos asociado a la ip pública.
¡ojo! el fichero settings.txt se borra antes de rellenarlo con el nuevo valor. hay que ejecutar el comando fuera del directorio /root/dynds y luego añadir el resultado al fichero /root/dyndns/settings.txt
finalmente, hay que estar vigilando que las ip pública no cambie y que si lo hace se ajuste oportunamente. Para ello se añade un crontab
*/1 * * * * /usr/bin/flock -n /tmp/ipupdate.lck /usr/local/bin/domain-connect-dyndns update --all --config /root/dyndns/settings.txt
Puede ser en el usuario creylopez (crontab -e), por ejemplo.