- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
有没有办法让 pg-gem 为它的 postgres 连接使用 sslmode = verify-full?这会像传递那个字符串一样简单吗?我有一个 Rails 应用程序,我想在外部数据库上建立完整的 ca 保护 ssl 连接,但我真的不知道如何设置它的 ca 部分。在 sslmode 上使用 require 默认它使用 ssl 流量,但我不知道我应该在哪里(或在什么用户下等)放置我的证书来进行验证。我是否应该将它们放在 ~/.postgresql/下,就像在正常的 psql 客户端工作流程中一样,以获取名称为 root.crt 和 postgresql.cert 以及 postgresql.key 的经过验证的 ssl 证书?
如果有帮助,我正在使用 Postgres 9.1。
为后来的人编辑:
以下 database.yml 文件似乎可以在我的开发机器上进行测试。我肯定会写一篇关于这个问题的博文,因为这是一个 PITA 来弄清楚出了什么问题。
host: 127.0.0.1
sslcert: <%= Rails.root.join('config', 'client.crt') %>
sslkey: <%= Rails.root.join('config', 'client.key') %>
sslrootcert: <%= Rails.root.join('config', 'root.crt') %>
sslmode: verify-full
database: pg-test_development
username: postgres
password:
最佳答案
Pg
gem 在内部使用 libpq
,与 psql
等 PostgreSQL 工具相同的客户端库。
默认情况下,libpq
在 ~/.postgresql/
中查找 CA 证书。
来自 the manual :
To allow server certificate verification, the certificate(s) of one or more trusted CAs must be placed in the file
~/.postgresql/root.crt
in the user's home directory. (On Microsoft Windows the file is named%APPDATA%\postgresql\root.crt
.)
...和...
The location of the root certificate file and the CRL can be changed by setting the connection parameters
sslrootcert
andsslcrl
[...]
AFAIK Rails 将您放入database.yml
中的任何内容传递给Pg
gem,后者将其作为连接参数传递给libpq
。因此,您应该能够将键/值条目添加到您的 database.yml
节中,例如:
sslmode: verify-full
# and if you don't want to use ~/.postgresq/root.crt for the cert location, set:
sslrootcert: /path/to/my/app/root/cert.crt
IMO 将单个根证书传递给 libpq
的要求是一个设计缺陷。它应该加载受信任的证书数据库。使用 SSL 客户端证书也存在类似问题,您无法提供 keystore 和证书库,您必须为给定主机传递特定文件。听起来这对您来说可能没问题,因为您知道上游证书签名机构。
关于ruby-on-rails - pg gem sslmode=verify-full,在哪里放置证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31355047/
语句 1: [2,4,6,7,8].each do |i| (i % 2 == 0) || (puts "Not even" && break) puts i end 声明 2: [2
我有一张正在显示的卡片,上面有一些信息。我想将其包装在SingleChildScrollView中,因为我还有更多项目要添加到卡中,但是当我这样做时,屏幕只是空白吗?我曾尝试将其作为根(脚手架主体)放
我有一个带有窗体的 View ,该窗体显示ViewModel中ObservableCollection中对象的数据。 ObservableCollection使我可以浏览数据。 ObservableC
如何将时间戳附加文件名放在HDFS中? hadoop fs -put topic_2018-12-15%2016:31:15.csv /user/file_structure/ 最佳答案 您只是在运行
我正在寻求一些帮助,以找出为什么以下叠加函数的运行时间会随着每次连续运行而增加。 据我所知,如果缓冲区中的文本保持不变,则运行时间应该是相同的——即,仅向左/向右移动光标应该不会增加运行时间(但它确实
我有一个事件指示器,它显示在中间。如何将其放置在 View 的左上角? var activityIndicator = UIActivityIndicatorView() func show() {
首先,我想提前感谢所有回答这个问题的人。非常感谢您的帮助。这是我第一次在这里发帖,所以如果我发帖不礼貌,请原谅我。 我的问题是关于方法原型(prototype)的: void copySubtree(
我正在开发一个应该是通用的应用程序,一个适用于 iPad 和 iPhone 的应用程序。我想让他们的界面尽可能相似。在 iPhone 应用程序中,我使用的是选项卡栏 Controller ,其中一个选
我目前正在使用 JS 开发 REST API,但遇到以下问题:该代码有效,但如果我尝试删除、放置或修补不存在的条目,它不会返回错误,但会打印成功消息。这是为什么?获取路由完美运行。 app.route
.a{ width:500px; height:500px; background:yellow; border: 3px dashed black; }
首先,请引用下图: 这基本上是我对布局的想法。 我想要的是: 内容 div 成为“主要焦点”,例如当浏览器 调整大小,它应该留在中间; 当浏览器被调整大小时,我希望这两个图像基本上 位于内容 div
我的应用程序需要使用内存映射并发访问数据文件。我的目标是使其在共享内存系统中可扩展。研究了内存映射文件库实现的源码,想不通: 在多个线程中从 MappedByteBuffer 中读取是否合法? get
我有一个 JDesktopPane 并希望以网格样式显示 JInternalFrames 而无需覆盖框架。框架的尺寸会有所不同,因此应动态分配它们的位置。我可以存储最后放置的框架的坐标,但可以移动、最
根据https://isocpp.org/wiki/faq/dtors#placement-new传递给placement-new的地址必须正确对齐。但它给出的例子似乎与此相矛盾。 char memo
我最近一直在查看 Illumos 源代码,发现了一些奇怪的东西。 在他们的源代码中,函数类型是这样写的: static int outdec64(unsigned char *out, unsigne
您好,我目前正在尝试在我的一张图片旁边放置一个图例,但我在放置时遇到了问题。 我想将图例放在图像的左侧或右侧。这是我当前的代码: .my-legend .legend-title { text-a
根据文档, print 之间的唯一区别和 say 似乎是后者添加了 "\n"(并使用 .gist 进行字符串化)。然而, perl6 -e 'print "del\b\b"' 打印“d”,有效地应用转
所以我试图将我的图像标志放在背景上,但我的背景突然被裁剪,出现了一半的黑屏。如图: 我的 main.dart 代码: import 'package:flutter/material.dart'; i
我正在使用 Azure DevOps 构建 python 轮。我想让它尽可能通用,以便团队中的每个人都可以使用相同的管道来构建自己的 python 轮并将它们部署在一些 databricks 工作区中
在构建标准(非 WordPress)网页时,我通常会在正文末尾之前加载所有 javascript 文件,然后包含页面特定 js 代码的部分。 WorPress 建议使用 wp_enqueue_scri
我是一名优秀的程序员,十分优秀!