postgresql – Postgrex – 主机“xxx.xxx.xxx.xxx”没有pg_hba.
发布时间:2020-12-13 15:58:03 所属栏目:百科 来源:网络整理
导读:我有一个单独托管的Postgres数据库,我正在尝试使用我的Phoenix应用程序.我的prod配置是: config :my_app,MyApp.Repo,adapter: Ecto.Adapters.Postgres,url: "postgres://username:password@myhost:5432/my_database",size: 20 当我的应用程序托管在Heroku上
我有一个单独托管的Postgres数据库,我正在尝试使用我的Phoenix应用程序.我的prod配置是:
config :my_app,MyApp.Repo,adapter: Ecto.Adapters.Postgres,url: "postgres://username:password@myhost:5432/my_database",size: 20 当我的应用程序托管在Heroku上时,这工作正常,但是因为我已经将它移动到VPS,我不断收到此错误: 17:07:13.665 [info] GET /subjects 17:07:13.707 [info] Processing by MyApp.SubjectController.index/2 Parameters: %{"format" => "html"} Pipelines: [:browser,:authorize] 17:07:13.951 [error] GenServer #PID<0.515.0> terminating ** (exit) %Postgrex.Error{message: nil,postgres: %{code: :invalid_authorization_specification,file: "auth.c",line: "474",message: "no pg_hba.conf entry for host "xxx.xxx.xxx.xxx",user "username",database "my_database",SSL off",pg_code: "28000",routine: "ClientAuthentication",severity: "FATAL"}} 17:07:13.970 [info] Sent 500 in 305ms 17:07:13.972 [error] #PID<0.513.0> running MyApp.Endpoint terminated Server: xxx.xxx.xxx.xxx:80 (http) Request: GET /subjects ** (exit) exited in: GenServer.call(#PID<0.515.0>,{:query,"SELECT s0."id",s0."name",s0."inserted_at",s0."updated_at" FROM "subjects" AS s0",[]},5000) ** (EXIT) %Postgrex.Error{message: nil,severity: "FATAL"}} 我也可以从Postgres GUI工具连接到数据库,所以没有任何问题.我注意到的一件事是它将我的VPS IP声明为主机而不是url中指定的主机. 这应该没关系,因为数据库完全在一个单独的主机上,但我仍然在这里尝试了解决方案: > No pg_hba.conf entry for host 真的很挣钱,请帮忙! 更新:这是我的pg_hba.conf: # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5 # Allow replication connections from localhost,by a user with the # replication privilege. #local replication postgres peer #host replication postgres 127.0.0.1/32 md5 #host replication postgres ::1/128 md5 host all all 0.0.0.0/0 md5 解决方法
这太愚蠢了,但我想出了问题所在.我试图连接的主机,期望一个安全的数据库连接.默认情况下,SSL已关闭,因此我启用了它:
config :my_app,ssl: true,size: 20 感谢这个答案:Node.js,PostgreSQL error: no pg_hba.conf entry for host (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |