nginx.conf 文件中下面一行的含义是什么?
ssl_ciphers HIGH:!aNULL:!MD5;
我知道 ssl 密码指定使用哪种算法来保护服务器通信,并且我假设!aNULL 和!MD5 指定不允许使用这些密码进行通信,但我不知道 HIGH:指定什么。
答案1
HIGH、LOW、EXPORT 等是包含一系列密码的宏。要获取实际密码,请使用openssl ciphers
命令,即
$ openssl ciphers -V 'HIGH:!aNULL:!MD5'
0xC0,0x30 - ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(256) Mac=AEAD
0xC0,0x2C - ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(256) Mac=AEAD
0xC0,0x28 - ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA384
0xC0,0x24 - ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA384
....
由于这些宏的内容在 OpenSSL 版本之间有所不同,因此您应该在服务器系统上使用 OpenSSL 运行此命令。有关密码和宏的更多详细信息,请参阅ciphers 命令的手册页。