如何配置Daphne服务器以邀请客户端添加签发我的证书的证书颁发机构(如果尚未这样做)?

如果我在Postman或我们正在开发的Android应用中向Daphne / Django服务器提出请求,则Daphne会提供证书,但会被拒绝。如果我先向https://letsencrypt.org/发出简单的get请求,然后再向服务器发出请求,则证书被接受。

即使这是该客户第一次看到此CA颁发的证书,我如何确保该客户信任我的证书?

一切都可以作为我研究问题的历史。

原始标题:SSL证书可在浏览器中使用,但Postman无法验证

我有一个运行Ubuntu 18.04的AWS EC2实例,带有python 3,Django,一堆项目依赖项,Daphne与ASGI运行,并带有Let's Encrypt的证书。 Daphne使用HTTP的端口8000和HTTPS的端口4430,iptables配置为将请求从端口80重定向到8000,从端口443重定向到4430。Django配置为使用settings.py文件中的SECURE_SSL_REDIRECT = True强制执行安全连接。 / p>

正在提供一个“ Site in Construction”临时页面,到目前为止,我可以通过每个浏览器和每个测试设备正确访问该页面。如果我显式键入http,则将重定向到https并接受证书。我测试过的每个浏览器(Firefox,Brave,Chrome,Chrome for Android)都说cert很好。

Curl输出从服务器返回的HTML内容。我不知道它是接受证书还是忽略它。

问题

邮递员却说“错误:无法验证第一个证书”。仅当我禁用“ SSL证书验证”时才起作用,它不能回答我的问题:为什么邮递员无法验证我的“让我们加密”证书?

我正在构建使用相同域在同一服务器上运行的API,并且该API应该由移动应用程序使用。目前,Android应用正在引发“ TypeError:网络请求失败”,我怀疑这可能与Postman抱怨的原因相同。

当我在本地旋转服务器并配置1)该应用程序使用http://localhost:8000和2)服务器不强制执行SSL时,它可以在浏览器,Postman和Android应用程序中使用。

几天来我一直在很多地方寻找答案,所以任何线索都将受到欢迎。

编辑

有趣的线索

如果我向Daphne / Django服务器发出请求,则该服务器将对证书进行服务器处理,该证书将被拒绝。但是,如果我先向https://letsencrypt.org/发出请求,然后向我的服务器发出请求,它就可以了!

此模式在Postman和我们的Android应用程序中都适用。

当我第一次向https://alloy.city(而不是letsencrypt.org)发出请求时,也会发生这种情况,该请求由Node.js应用程序提供服务,并使用由Let's Encrypt CA颁发的证书。>

所以也许问题应该是:如何配置我的服务器以礼貌地邀请客户端添加颁发证书的CA(如果他们尚未这样做的话)?

显然,这就是我的Node.js服务器所做的。

iCMS 回答:如何配置Daphne服务器以邀请客户端添加签发我的证书的证书颁发机构(如果尚未这样做)?

是的,在设置中,点击ssl验证关闭

文件>设置>常规> SSL证书验证>关闭

enter image description here

本文链接:https://www.f2er.com/2251544.html

大家都在问