authentication - Nginx客户端证书授权

标签 authentication ssl nginx ubuntu-14.04

我必须将 Nginx 配置为接受客户端自签名证书。 问题是证书应该由客户自己准备并由他们签署。我知道这种方法的缺点,但这是客户要求。 目前 Nginx 配置为接受由我自己的 CA(不受信任)签署的客户端证书。 ssl_client_certificate 指向 ca.crt。 客户想要大约 100 个客户端证书,每个证书都由不同的不受信任的 CA 签名——没有链接。 我应该如何配置 Nginx 以这种方式工作?我相信我应该准备包含每个客户端证书、CA 证书的文件。还要别的吗?

最佳答案

你为什么不使用CACert ?这样每个客户端都可以生成他们的证书(比自己生成证书更容易),并且您在 ssl_client_certificate 中只持有一个 CA。

否则,您必须将所有 CA 连接到为 ssl_client_certificate 指出的文件中。

或者,您可以为每个用户颁发您的 CA 中间 CA(然后每个用户生成他们的证书),并且您只在 ssl_client_certificate 中使用您的 CA,并指定正确的 ssl_verify_depth:

ssl_verify_client      on; # or optional
ssl_verify_depth       2; # >1, depending on your CA chain

关于authentication - Nginx客户端证书授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30809280/

相关文章:

node.js - Feathers 通过 POST 进行身份验证有效,但套接字无效

php - 如何在 PHP 中连接 SQL 查询和基本身份验证

MySQL - SSL - 使用 TLS1.2 密码 AES256-SHA256/DHE-RSA-AES256-SHA256

ssl - NGINX - SSL 握手时关闭连接,同时 SSL 握手到上游

ssl - 如何强制用户通过 SSL 访问我的 Play 应用程序?

laravel - ttl 在 JWT Auth Laravel 中未过期

reactjs - 前后端分离 : Safari not storing cookies from API which is hosted on a separate domain than its Frontend SPA client

apache - mod_ssl.so 未加载

apache - 如何为本地测试目的设置 HTTPS?

php - 如何在docker上同时运行多个项目