По-умолчанию ставится версия NGINX 1.10, которая давно уже устарела. Обновить на новую версию не очень сложно.

Чекаем, реально ли NGINX у нас старый:

sudo nginx -V

Если версия 1.10, то предлагаю обновить до >=1.15.

Бекап


Бекапим старый NGINX:

sudo mkdir /etc/nginx-backup/ && sudo cp -r /etc/nginx/* /etc/nginx-backup/


Установка


Ставим репозиторий NGINX:

nginx=stable
sudo add-apt-repository ppa:nginx/$nginx

Обновляем список пакетов:

sudo apt-get update


Устанавливаем:

apt-get install nginx

Когда спросит, что делать с конфигом, говорим N — оставить старый.

Теперь чекаем, всё ли прошло успешно:

nginx -V


Конфиг


Теперь нам надо обновить основной конфиг /etc/nginx/nginx.conf

Добавляем в шапку файла подключение конфигов модулей, чтобы получилось примерно так:

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;


Добавляем 2 директивы в блок http:

http {
    ...
    
    variables_hash_max_size 2048;
    variables_hash_bucket_size 1024;
    
    ...
}


Заменяем часть конфига с SSL на:

http {
    ...
    
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
    ssl_prefer_server_ciphers on;
    
    ...
}


В итоге у меня получился такой конфиг:

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
    worker_connections 768;
    #multi_accept on;
}

http {
    # >> IP blocks
    include blockips.conf;
    # << IP blocks

    # >> Basic Settings
    merge_slashes off;
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    client_max_body_size 100M;
    include /etc/nginx/mime.types;
    default_type application/octet-stream;
    variables_hash_max_size 2048;
    variables_hash_bucket_size 1024;
    # << Basic Settings

    # >> SSL Settings
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
    ssl_prefer_server_ciphers on;
    # << SSL Settings

    # >> Logging Settings
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;
    # << Logging Settings

    ##
    # Gzip Settings
    ##
    gzip on;
    gzip_disable "msie6";
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_http_version 1.0;
    gzip_types text/plain text/css application/json application/x-javascript application/javascript text/xml application/xml application/xml+rss text/javascript;

    # >> Virtual Host Configs
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
    # << Virtual Host Configs
}


Чекаем и перезагружаем:

nginx -t
service nginx reload


Можем чекнуть рейтинг и отчёт SSL защищённости ваших сайтов по этому адресу:

https://www.ssllabs.com/ssltest/analyze.html?d=https://gvozdb.ru