专栏名称: OSC开源社区
OSChina 开源中国 官方微信账号
目录
相关文章推荐
程序员技术  ·  某程序员:感觉身边35岁后月薪稳定在40k以 ... ·  7 小时前  
京东科技技术说  ·  Taro on Harmony C-API ... ·  昨天  
极客之家  ·  22k star,微软硬核开源,让 ... ·  昨天  
程序员的那些事  ·  余承东暗讽某大厂,雷军疑似回应“诋毁是仰望” ... ·  3 天前  
51好读  ›  专栏  ›  OSC开源社区

Nginx:配置 HTTPS 服务器 | 译文

OSC开源社区  · 公众号  · 程序员  · 2016-10-23 08:52

正文

请到「今天看啥」查看全文



SSL 证书链


一些浏览器可能会对一些有知名证书颁发机构的签名证书不信任,而其他浏览器可能认为该证书没有问题。出现这种情况是因为证书签发机构使用中级证书来签发服务器证书,而这个中级证书不存在部分浏览器分发的知名可信颁发证书库中。在这种情况下证书颁发机构需要提供  一组证书链,这个证书链应该链路到签名的服务器证书。服务器证书必须出现在组合文件中的证书链之前。



生成的文件应该在ssl_certificate 命令使用:



如果服务器证书和捆绑的证书链以错误的顺序连接,nginx将无法启动而且会提示如下错误信息。


因为nginx尝试使用私钥和证书链中的第一张证书来匹配,而不是服务器证书。

浏览器通常存储他们接受的并且由可信的CA 签名的中级证书,所以经常使用的浏览器可能包含了请求中的中级证书,并且可能不会在没有证书链情况下对发送的证书而告警。为了确保服务端发送了完整的证书链,可以使用 openssl 命令行来判断,例如:




在上面的例子中,www.GoDaddy.com服务器证书#0的主题(“s”)由发行者(“i”)签署,发行者本身是证书#1的主题,其由发行者 是证书#2的主题,由知名CA ValiCert,Inc.签名,其证书存储在浏览器的内置证书库(位于Jack构建的房子中)中。

如果未添加证书链,则仅显示服务器证书#0。

一个简单的http/https服务








请到「今天看啥」查看全文