Encryption 获取受支持的密码套件列表(以检测ECDSA支持)

Encryption 获取受支持的密码套件列表(以检测ECDSA支持),encryption,nginx,https,cdn,ecdsa,Encryption,Nginx,Https,Cdn,Ecdsa,我正在考虑为我的网站使用内容交付网络的可能性。因为我是个吝啬鬼,所以我正在努力降低这样做的成本 有一个非常棒的CDN,它的成本非常低,但只支持支持SNI和ECDSA密钥交换的浏览器和操作系统。(猜到是哪一个的人可获得额外积分!) 因此,我考虑使用ngx_pagespeed为支持ECDSA密钥交换的web浏览器将资源重写为CDN,对于不支持ECDSA密钥交换的浏览器,或者不使用CDN,或者使用更昂贵(但兼容)的CDN 不幸的是,我找不到让nginx检测浏览器ECDSA支持的方法。以下是我到目前为止

我正在考虑为我的网站使用内容交付网络的可能性。因为我是个吝啬鬼,所以我正在努力降低这样做的成本

有一个非常棒的CDN,它的成本非常低,但只支持支持SNI和ECDSA密钥交换的浏览器和操作系统。(猜到是哪一个的人可获得额外积分!)

因此,我考虑使用ngx_pagespeed为支持ECDSA密钥交换的web浏览器将资源重写为CDN,对于不支持ECDSA密钥交换的浏览器,或者不使用CDN,或者使用更昂贵(但兼容)的CDN

不幸的是,我找不到让nginx检测浏览器ECDSA支持的方法。以下是我到目前为止所考虑的:

  • 用户代理嗅探-这通常是一个坏主意,无法检测到坏的公司代理背后的人
  • 使用JavaScript检测支持并设置cookie-这将使客户端在第一次页面查看后下载资源两次,如果用户禁用JavaScript或cookie,则无法工作
  • 提供一个包含检测JavaScript的空白间隙页面——如果没有JavaScript或cookie,这同样不起作用,并且对SEO有害。此外,这会很慢,如果在某些奇怪的代理之后检测需要很长时间,则速度会更慢

我发现服务器可以读取密码套件,例如在或中。如何阅读nginx中客户端支持的密码套件列表?

此问题不包括语言、运行时或开发环境的标记。这通常表明它与这里的主题无关。请尝试serverfault或stackexchange的IT安全站点。@MaartenBodewes Nginx是此处的标记。有没有办法把它放在列表的第一位?Nginx是一个HTTP服务器,它本身不是一个运行时。这些标签是按人气排序的(我不确定这是否取决于投票数或追随者)。这是无法更改的。@MaartenBodewes此问题与主题有关。由于nginx中不存在此功能,ascom应指定他们需要帮助为此任务编写nginx模块,尽管(并添加标记)@DankMemes否,这应首先在会议上讨论。他们有一个非常能干的团队,首先要做好安全设计。