У меня есть дроплет digitalocean, и я пытаюсь установить свое веб-приложение на Java в CentOS 7, который использует базу данных postgres. Я успешно установил базы данных Java, tomcat и postgres. Я могу подключиться к базе данных postgres моей капли с моего локального компьютера, используя pgadmin, а также из локального затмения. Но при развертывании веб-приложения на сервере появляется следующая ошибка:
org.postgresql.util.PSQLException: Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
Я добавил listen_addresses = '*' к postgresql.conf
Это код из pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
host all all 0.0.0.0/0 md5
Есть ли проблема с брандмауэром? Нужно ли предоставлять какое-либо специальное разрешение? Порт, который я использую для подключения, - 5432. Я не внес никаких изменений в порт.
Я удалил дроплет и установил на него ubuntu 18, мне удалось правильно подключиться к базе данных. Я снова установил CentOS 7, и это дает ту же проблему.
Вот вывод iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31