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
我们的 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