为了安全起见,我必须使用 TLSv1.1 或 TLS v1.2 设置 nginx 服务器。默认情况下,nginx 配置 TLSv1。
阅读文档后我发现 nginx 必须设置以下指令:
ssl_protocols TLSv1.1 TLSv1.2;
http://nginx.org/en/docs/http/configuring_https_servers.html
但是当我运行命令时:
# /etc/init.d/nginx configtest
出现以下消息:
Testing nginx configuration: [warn]: invalid value "TLSv1.1" in /etc/nginx/nginx.conf: 175 configuration file /etc/nginx/nginx.conf test failed
文件是谎言吗?
平台是Debian Squeeze,nginx版本是0.7.67
谢谢
答案1
根据archive.org (http://web.archive.org/web/20120116033748/http://nginx.org/en/docs/http/configuring_https_servers.html)TLSv1.2支持于2012年1月至2月之间添加。Nginx 0.7.67来自2010年。
您可能希望使用 nginx 1.2 的反向移植版本 (http://packages.debian.org/search?keywords=nginx)并且你几乎肯定想要升级操作系统:P
答案2
openssl @ squeeze 是:OpenSSL 0.9.8o 01 Jun 2010
,但是你需要 1.0.1x,因此你必须下载 openssl-sources 并告诉 nginx @ compile-time 使用哪个版本:
./configure ... --with-http_ssl_module \
--with-openssl=/path/to/openssl_source/ ...
我不建议从 backports 等更新系统的 openssl-packages。