Sco*_*lme 7 ssl nginx protocol
我正在尝试设置一个主机名来演示糟糕的 SSL 配置,但我遇到了一些问题。我可以指定一些不好的密码套件,但 nginx 似乎忽略了协议选择。
server {
listen 443 spdy ssl;
keepalive_timeout 70;
server_name example.co.uk;
client_max_body_size 10M;
ssl_certificate /path/to/ssl.crt;
ssl_certificate_key /path/to/ssl.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
...
}
server {
listen 443 spdy ssl;
keepalive_timeout 70;
server_name weak.example.co.uk;
client_max_body_size 10M;
ssl_certificate /path/to/weakssl.crt;
ssl_certificate_key /path/to/weakssl.key;
ssl_protocols SSLv3;
...
}
Run Code Online (Sandbox Code Playgroud)
Nginx 可以使用我指定的不同密码套件,但似乎全面使用第一个服务器块中的协议,因此weak.example.co.uk 具有 TLSv1/1.1/1.2 并且不支持 SSLv3。
是否可以为每个服务器块指定不同的协议?
nginx -t
main
通过在发出重新加载时监视级别定义的错误日志来检查您的配置是否已动态验证(service nginx reload
或kill -SIGHUP <nginx master PID>
)如果提供了错误的证书(没有 SNI 或错误的服务器选择),您通常会收到证书警告,因为请求的域名与证书设置的域名不匹配。
这将显示当前连接正在使用的协议:
location /SSLProtocol {
return 200 $ssl_protocol;
}
Run Code Online (Sandbox Code Playgroud)