util psqlexception pg_hba org off for fatal entry conf postgresql

off - org.postgresql.util.PSQLException: FATAL: ninguna entrada pg_hba.conf para el host



org postgresql util psqlexception fatal no pg_hba conf entry for host (4)

Estoy tratando de conectarme a la base de datos PostgreSQL que está en una ubicación remota utilizando la plantilla Spring JDBC. estoy obteniendo

org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entrada para el host "139.126.243.71", usuario "invitado", base de datos "masterdb", error de apagado de SSL

No tengo acceso al archivo pg_hba.conf de la ubicación remota.

Esta es la configuración que di en mi servidor servlet.xml.

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="org.postgresql.Driver"/> <property name="url" value="jdbc:postgresql://100.64.35.52":5432/masterdb"/> <property name="username" value="root"/> <property name="password" value="root"/> </bean>

¿Podemos resolver el problema dando alguna propiedad?


Debes aplicar cambios de golpe para conectar:

en "C: / Archivos de programa (maby x86) / PostgreSQL (su versión) / datos"

en el archivo "postgresql.conf":

marque "listen_addresses" be = ''*'' (por defecto es localhost en algunas versiones de postgres) si no lo está, debe cambiarlo a ''*''. Es motivo para escuchar todas las direcciones.

en el archivo "pg_hba.conf":

añadir una nueva fila:

host all all 0.0.0.0/0 md5

(el uso de la fila de arriba es mejor) o

host guest masterdb 139.126.243.71 md5

Y realmente es muy importante que el modo ssl esté activado. para este comando de agregar golpe al final de tu url:

?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory

En términos de frijol como

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="org.postgresql.Driver"/> <property name="url" value="jdbc:postgresql://100.64.35.52":5432/masterdb?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory"/> <property name="username" value="root"/> <property name="password" value="root"/> </bean>


Parece que el servidor DB no permite la conexión SSL sin conexión, tendrá que habilitarlo. Cambie la URL de jdbc:postgresql://100.64.35.52":5432/masterdb a jdbc:postgresql://100.64.35.52":5432/masterdb?sslmode=require

Verifique los detalles del modo sobre el modo ssl en http://www.postgresql.org/docs/9.1/static/libpq-ssl.html


Ver mi respuesta here , básicamente tuve que poner user / pwd en la propiedad url

url="jdbc:postgresql://server:port/mydb?user=fred&amp;password=secret"


Ajustes combinados

Probé las sugerencias dadas por @ craig-ringer

jdbc:postgresql://100.64.35.52":5432/masterdb?ssl=true

y dado por @amit

jdbc:postgresql://100.64.35.52":5432/masterdb?sslmode=require

ninguno funciono Pero cuando los combiné para:

jdbc:postgresql://100.64.35.52":5432/masterdb?ssl=true&sslmode=require

Funcionó.