无需SSL即可远程访问Heroku Postgres Hobby层

时间:2019-05-17 20:17:59

标签: heroku heroku-postgres

为什么我可以在没有SSL的情况下访问Heroku中的爱好开发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,但我也可以与psql DATABASE_URL进行远程连接,而无需使用sslmode=require作为查询参数。

根据Heroku docs and code samples并非如此。唯一可以解释的原因是Heroku不支持静态on the Hobby tier加密,那么为什么要在传输过程中加密呢?

2 个答案:

答案 0 :(得分:1)

我联系了Heroku支持部门,得到的答复是,server side

上目前尚未强制执行


他们的数据团队确认这是“已知但未记录”的事情。不幸的是,这些文档具有误导性,例如herehere

  

如果不使用sslmode = require,则会出现连接错误

答案 1 :(得分:0)

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

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