Por norma general la mayoría de servidores tan solo permiten que las conexiones a PostgreSQL se realicen en local, es decir, desde el mismo servidor Cloud y no desde un servidor o equipo externo.
En los “setups” en los que es necesario configurar PostgreSQL en un servidor aparte, para no sobrecargar el frontal web por ejemplo, se tienen que llevar a cabo algunas configuraciones para poder conectar de forma remota a las bases de datos.
A continuación explicamos los pasos a seguir para configurar este acceso:
- Accede a tu servidor a través de SSH como usuario “root”. Acceder por SSH a Linux
# ssh root@46.183.117.117
- Una vez conectado edita el siguiente fichero:
# vi /etc/postgresql/12/main/postgresql.conf
Busca la siguiente línea:
Sustituye 'localhost' por '*' y descomenta la línea eliminando #:#listen_addresses = 'localhost' # what IP address(es) to listen on;
listen_addresses = '*' # what IP address(es) to listen on;
- El siguiente paso es configurar el fichero "pg_hba.conf" para permitir el acceso remoto desde cualquier dirección. Para ello ejecuta lo siguiente:
# vi /etc/postgresql/12/main/pg_hba.conf
Añade al final del fichero las siguientes líneas:
host all all 0.0.0.0/0 md5
host all all ::/0 md5 - Para finalizar el proceso reinicia el servicio de PostgreSQL:
# systemctl restart postgresql.service
- Finalmente prueba el acceso desde un equipo remoto:
Abrir puerto Firewall
En el firewall del panel de cliente deberás abrir el puerto 5432 TCP para permitir las conexiones. Por seguridad se recomienda abrir el puerto únicamente a la IP pública de tu conexión a internet. Cómo crear una regla de firewall
Con estos sencillos pasos habrás configurado PostgreSQL para permitir conexiones remotas.