是否可以从Django中的当前连接中检索客户端的SSL证书?我没有看到从lighttpd传递的请求上下文中的证书。我的设置有lighttpd和django在快速and模式下工作。目前,我被迫手动连接回客户端的IP以验证证书。有什么巧妙的方法来避免这种情况吗?谢谢!
更新:我将这些行添加到我的lighttpd.conf中:
ssl.verifyclient.exportcert = "enable"
setenv.add-request-header = (
"SSL_CLIENT_CERT" => env.SSL_CLIENT_CERT
)
不幸的是,env.SSL_CLIENT_CERT未能取消引用(不存在吗?)莱特普也没能开始。如果我将"env.SSL_CLIENT_CERT“替换为像"1”这样的静态值,它将成功地传递给request.META字段中的django。还有什么我可以试试吗?这里是lighttpd 1.4.29。
发布于 2014-02-19 08:09:03
是。虽然这个问题不是Django特有的。
通常,web服务器可以选择将SSL客户端证书数据导出为环境变量或HTTP报头。我自己用Apache (不是Lighttpd)做过这件事。
我就是这样做的
看起来选项名是ssl.verifyclient.exportcert
。
虽然我不知道如何使用lighttpd来完成第二步,因为我在这方面的经验很少。
https://stackoverflow.com/questions/21868265
复制相似问题