环境
Rails 4.0.4
对HTTPS连接使用SSL证书
在我的config/environments/production.rb里
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
config.force_ssl = true
我就是这样启动服务器的:
thin start -e production -d -p 3001 -P ./tmp/pids/thin_https.pid --ssl --ssl-key-file /etc/
我希望配置SSL,以便客户端只能要求由根CA ca.crt签名的证书,然后每个客户端必须使用其颁发的证书(例如证书postgresql.crt、密钥postgresql.key和密码)连接到数据库服务器。在此允许数据库服务器在身份验证时验证每个客户端证书。
Postgres v14服务器吐露:
postgresql.conf
...
ssl = on
ssl_ca_file = ca.crt # root CA or (root+intermediate CA bundle) that signed client cert.
#ssl_cert_file =
#ssl_key_file =
这可能看起来很琐碎,但我对tls并不在行。
我有一个openvpn服务器,可以进行双向tls操作。
我的虚拟专用网客户端有一个ca.crt文件:
root CA
intermediate CA
issuing CA
我的服务器的server.crt为:
server certificate # which is signed by the above "issuing CA"
但是,如果在我的vpn客户端上删除了ca.crt中的“颁发CA”和“中间CA”,那么我的vpn客户端仍然可以验证server.crt。
如果我的vpn客户端在我的ca.crt中放置了无效的“根CA”,那么