Puma 的 SSL 客户端证书

SSL Client Certificate with Puma

我们的 Rails 服务器位于 AWS Gateway API 后面。我们打算使用其客户端 ssl 身份验证,因此只能通过网关地址访问它们。我们想丢弃所有不是来自 AWS 网关的请求。但是...目前我们的服务器 运行 在 Puma(不是 nginx)上。

有没有办法用 ssl_client_certificate 标志启动 puma?

类似

puma -b 'ssl://127.0.0.1:3000?key=server.key&cert=server.crt'

但对于客户端证书。

回答我自己的问题

puma -b 'ssl://127.0.0.1:3000?key=server.key&cert=server.crt&ca=ca.key&verify_mode=force_peer'

或在puma.rb

bind 'ssl://0.0.0.0:3000?verify_mode=force_peer&ca=certs/ca.key&key=server.key&cert=server.crt'

缺少的参数是 verify_mode=force_peer