Cert/client 使用不同证书的多个客户端使用 Nginx 进行身份验证
Cert/client authentication with Nginx with multiple clients using different certs
我正在开发基于 Nginx 的小型 Flask 服务,该服务通过 HTTP 提供一些内容。它将使用双向证书身份验证来实现这一点——我知道如何使用 Nginx——但用户必须登录并加载他们自己的证书,该证书将用于 auth 部分。
所以场景是:
- 用户有一个生成用于客户端身份验证的证书的服务器。
- 他们登录服务为他们的服务器上传该证书。
- 从用户服务器提取证书的系统现在可以到达我的服务端点,该端点提供内容并使用证书进行身份验证。
我在 Nginx 文档中找不到任何内容表明我可以拥有 Nginx 查看的单个密钥库或目录以匹配传入请求的证书。我知道我可以在 Nginx 中配置这个 'per-server'。
我目前的想法是,我允许网络应用程序触发读取 Nginx conf 文件的脚本,插入一个新的服务器条目和一个指定的端口,其中包含上传证书的路径,然后发送 HUP 信号重新加载 Nginx。
我想知道社区中是否有人在使用 Nginx 之前做过类似的事情,或者他们是否有更好的解决方案来解决我提出的奇怪情况。
经过大量研究并阅读了一些关于 nginx.com 的文档后,我发现我把它复杂化了。
我应该在 /etc/nginx/conf.d/
中添加和删除配置文件,而不是在 sites-available
中修改我的配置,然后通过调用 sudo nginx -s reload
.
告诉 Nginx 重新加载
我会让应用程序调用一个脚本来 运行 需要的命令,并将脚本添加到 www-data
用户的 sudoers 文件中。
我正在开发基于 Nginx 的小型 Flask 服务,该服务通过 HTTP 提供一些内容。它将使用双向证书身份验证来实现这一点——我知道如何使用 Nginx——但用户必须登录并加载他们自己的证书,该证书将用于 auth 部分。
所以场景是:
- 用户有一个生成用于客户端身份验证的证书的服务器。
- 他们登录服务为他们的服务器上传该证书。
- 从用户服务器提取证书的系统现在可以到达我的服务端点,该端点提供内容并使用证书进行身份验证。
我在 Nginx 文档中找不到任何内容表明我可以拥有 Nginx 查看的单个密钥库或目录以匹配传入请求的证书。我知道我可以在 Nginx 中配置这个 'per-server'。
我目前的想法是,我允许网络应用程序触发读取 Nginx conf 文件的脚本,插入一个新的服务器条目和一个指定的端口,其中包含上传证书的路径,然后发送 HUP 信号重新加载 Nginx。
我想知道社区中是否有人在使用 Nginx 之前做过类似的事情,或者他们是否有更好的解决方案来解决我提出的奇怪情况。
经过大量研究并阅读了一些关于 nginx.com 的文档后,我发现我把它复杂化了。
我应该在 /etc/nginx/conf.d/
中添加和删除配置文件,而不是在 sites-available
中修改我的配置,然后通过调用 sudo nginx -s reload
.
我会让应用程序调用一个脚本来 运行 需要的命令,并将脚本添加到 www-data
用户的 sudoers 文件中。