У меня есть приложение Ruby on Rails
, работающее на сервере nginx (сервер приложений находится на ОС Red Hat). База данных установлена на другом сервере (той же ОС: Red Hat). С консоли сервера приложений я могу подключиться к базе данных , используя те же учетные данные БД, что и в приложении. Но приложение ruby не может установить соединение . Выдает ошибку
В журнале ошибок /var/log/nginx/error.log
есть сообщение об ошибке ниже
stderr:
PG::ConnectionBad (could not connect to server: Permission denied
Is the server running on host "10.178.61.135" and accepting
TCP/IP connections on port 5432?
):
Кроме того, отметим, что я могу успешно запустить rake db:migrate
Файл database.yml
выглядит следующим образом:
production:
adapter: postgresql
encoding: unicode
database: applicationdatabase
host: 10.178.61.135
pool: 30
port: 5432
timeout: 10000
username: dbuser
password: dbpassword
На сервере базы данных конфигурация соединения /var/lib/pgsql/11/data/pg_hba.conf
:
# Allow replication connections from localhost, by a user with the replication privilege.
local replication all peer
host replication all 127.0.0.1/32 ident
host replication all ::1/128 ident
host all all 0.0.0.0/0 md5
Привилегия базы данных
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
---------------------+-------------+----------+-------------+-------------+-----------------------------
applicationdatabase | dbuser | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/dbuser +
| | | | | dbuser=CTc/dbuser
Другие настройки и версии
# Web app Server
nginx/1.10.1
Phusion passenger 5.0.29
Ruby 2.1.9
Rails 4.1.5
pg 0.17.1
RHEL 7.7
# DB Server
PostgreSQL 11.3
RHEL 7.7