我最近将Phoenix升级到了最新版本(1.7.7),Ecto也升级到了3.10.3。升级之前,连接Heroku pg时,我只要设置
SSL: true
,就可以连接了:
config :abc, abc.Repo,
url: System.get_env("DATABASE_URL"),
pool_size: String.to_integer(System.get_env("POOL_SIZE") || "10"),
ssl: true
升级后,失败并显示以下消息:
[error] Postgrex.Protocol (#PID<0.2449.0>) failed to connect: ** (DBConnection.ConnectionError) ssl connect: Options (or their values) can not be combined: [{verify,verify_peer},
{cacerts,undefined}] - {:options, :incompatible, [verify: :verify_peer, cacerts: :undefined]}
现在似乎需要更多选择。有很多选项,但我找不到一些有关如何设置它们的示例。顺便说一句,Heroku pg 强制要求设置 SSL 选项,所以我无法删除它。有人遇到同样的问题吗?
在这里找到解决方案:
config :abc, abc.Repo,
[...]
ssl_opts: [verify: :verify_none]