Почему возникает ошибка 504 сайта на сервере c nginx postgres?
Здравствуйте. Имею работающий сайт в docker на yii2 и postgres. При переносе на vds не получается завести его - выдает то ошибку 504, то - PDOException: SQLSTATE[08006] [7] timeout expired in /var/www/html/site.ru/vendor/yiisoft/yii2/db/Connection.php:705.
После стэка вызовов:
Additional Information:
Array
(
[0] => 08006
[1] => 7
[2] => could not connect to server: No route to host
Is the server running on host "172.17.0.1" and accepting
TCP/IP connections on port 5432?
)
phpinfo() говорит, что pdo_pgsql активен, правда версия 9.2.24, в то время как postgres на сервере стоит 13. Не заню имеет ли это значение.
Другой сайт на yii2 и mysql работает на этом сервере. Подключиться к postgres через pgadmin c домашнего компа могу, порт 5432 открыт и сервис postgresql добавлен в исключения firewall.
И в правда, висел на 0.0.0.0. В конфиге сайта исправил на него и сайт завелся. Спасибо)) Хотя странно, я думал так как php скрипт также лежит на сервере, то обращается он к localhost(127.0.0.1). Почему тогда postgres будучи установленным на нем имеет другой адрес. Если в двух словах объясните, буду благодарен)
Я не понял, честно говоря, что у вас на каком адресе висело, и что было в конфиге (и вообще, postgres был в том же докере?).
0.0.0.0 означает, что висел на всех адресах. PHP скрипт обращается туда, куда укажет connection string (если хоста в ней нет, то по умолчанию коннектится к unix сокету в директории /tmp).
galaxy, postgres в докере это на локальной машине (использовал во время разработки). А на сервере nginx и postgres, который как раз и висел на 0,0,0,0.
А это не правильно, что он на всех адресах? Надо настраивать на определенный его как то? Прошу прощения за нубские вопросы и если в них есть что то не логичное и противоречащее)
Нет, в принципе, это нормально, что на всех адресах.
PHP должен просто куда нужно обращаться. Если на той же машине (в том же докере), то должен работать localhost
galaxy, для localhost выдал ошибку:
PDOException: SQLSTATE[08006] [7] FATAL: no pg_hba.conf entry for host "::1", user "user", database "dbname", SSL off in /var/www/html/site.ru/vendor/yiisoft/yii2/db/Connection.php:705
Ну это я так понимаю pg_conf надо поправить, чтоб заработал