【问题标题】:Remote access to Heroku Postgres Hobby tier without SSL无需 SSL 即可远程访问 Heroku Postgres Hobby 层
【发布时间】:2019-05-22 18:03:22
【问题描述】:

为什么我可以在没有 SSL 的情况下访问 Heroku 中的 hobby-dev Postgres?

这是我的节点代码:

const { Client } = require('pg');
const connectionString = process.env.DATABASE_URL;

const client = new Client({
  connectionString: connectionString,
  ssl: false
})

heroku pg:credentials:url DATABASE 返回sslmode=require 但我也可以在没有sslmode=require 作为查询参数的情况下使用psql DATABASE_URL 远程连接。

根据Heroku docs and code samples 不应该是这样。唯一可以解释的是 Heroku 不支持静态加密on the Hobby tier 那么为什么要在传输中呢?

【问题讨论】:

  • 您对此完全确定吗?我一直都必须通过 SSL 进行连接。
  • 是的@Chris,我联系了 Heroku,他们告诉我这不是从服务器端强制执行的,请参阅我的回答。

标签: heroku heroku-postgres


【解决方案1】:

我联系了 Heroku 支持,得到的回复是它目前未在 server side

上强制执行


他们的数据团队证实这是一件“已知但未记录”的事情。不幸的是,这些文档具有误导性,例如here 和 here:

如果您不使用 sslmode=require,您将收到连接错误

【讨论】:

    【解决方案2】:

    静态加密与 Postgres 实例的安全连接几乎没有关系。毕竟,“静止”与在客户端和数据库主机之间来回移动字节完全相反。

    这几乎可以肯定是由于数据库主机本身的配置,但无法确定。猜测一下,这里的原因是为了降低使用该服务的难度,因为爱好层是免费的,并且受到爱好者和新开发者的欢迎。

    【讨论】:

    • 是的,这也是我的猜测,但它不仅适用于爱好层,请参阅我的回答。
    猜你喜欢
    • 2016-07-31
    • 1970-01-01
    • 2023-03-24
    • 2017-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-15
    相关资源
    最近更新 更多