Здравствуйте, Oxotnik, Вы писали:
Только вот небольшая рекомендация:
http {
ssl_certificate /usr/local/nginx/sert/cert.pem;
ssl_certificate_key /usr/local/nginx/sert/cert.key;
ssl_dhparam /usr/local/nginx/sert/dh4096.pem;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers RC4:HIGH:!aNULL:!MD5:!CAMELLIA;
ssl_prefer_server_ciphers on;
......
}
Файлик dh4096.pem создается командой типа:
$ openssl dhparam -5 -out /usr/local/nginx/sert/dh4096.pem 4096
После чего рекомендуется проверить настройки HTTPS на
ssllabs.com.
Если в системе установлен openssl < 1.x (проверяется командой openssl version), то я бы собрал nginx c последней версией
openssl. Строка конфигурации для сборки выглядит как-то так:
./configure \
--prefix=/etc/nginx \
--conf-path=/etc/nginx/nginx.conf \
--with-pcre-jit \
--with-debug \
--with-file-aio \
--with-http_addition_module \
--with-http_dav_module \
--with-http_geoip_module \
--with-http_gzip_static_module \
--with-http_image_filter_module \
--with-http_realip_module \
--with-http_secure_link_module \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_sub_module \
--with-http_xslt_module \
--with-ipv6 \
--with-sha1=openssl-1.0.1e/crypto/sha \
--with-md5=openssl-1.0.1e/crypto/md5 \
--with-openssl=openssl-1.0.1e \
--error-log-path=/var/log/nginx/error.log \
--http-client-body-temp-path=/var/lib/nginx/body \
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
--http-log-path=/var/log/nginx/access.log \
--http-proxy-temp-path=/var/lib/nginx/proxy \
--http-scgi-temp-path=/var/lib/nginx/scgi \
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi \
--lock-path=/var/lock/nginx.lock \
--pid-path=/var/run/nginx.pid
Профит будет заключаться в поддержке TLSv1.1 и TLSv1.2 плюс на свой страх и риск можно будет убрать из ssl_ciphers опцию "RC4" (современные браузеры не подвержены
BEAST attack).