Не уверен, что было бы хорошо ответить на этот, вероятно, "мертвый и похороненный" вопрос, но здесь мы идем ...
Базовая конфигурация (т.е. безопасность)
- Создайте свой закрытый ключ (> = 2048bit) и свой сертификат. Я предполагаю, что они у вас уже есть, иначе посмотрите на letsencrypt.org. Убедитесь, что ваш сертификат включает в себя полную цепочку сертификатов (обычно это промежуточные / юридические сертификаты). Что касается параметров Диффи-Хеллмана, вы можете сгенерировать их, запустив 
openssl dhparam -out /path/to/dhparam.pem 2048 . 
Настройте параметры SSL в соответствии с генератором конфигурации Mozilla SSL (промежуточные настройки по состоянию на 2016-06-30):
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name localhost;
    root /var/www/wordpress;
    ### SSL/TLS SETTINGS ###
    # certs sent to the client in SERVER HELLO are concatenated in ssl_certificate
    ssl_certificate /path/to/signed_cert_plus_intermediates;
    ssl_certificate_key /path/to/private_key;
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets off;
    # Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
    ssl_dhparam /path/to/dhparam.pem;
    # intermediate configuration. tweak to your needs.
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
    ssl_prefer_server_ciphers on;
    ### OCSP Stapling ###
    # fetch OCSP records from URL in ssl_certificate and cache them
    ssl_stapling on;
    ssl_stapling_verify on;
    # verify chain of trust of OCSP response using Root CA and Intermediate certs
    ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;
    resolver <IP DNS resolver>;
    include /etc/nginx/default.d/*.conf;
    location / {
        try_files $uri $uri/ =404;
    }
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
 
Продвинутая конфигурация (т.е. зайди ко мне, АНБ!(ну нет, но ...))
Возьмите базовую конфигурацию выше и настройте ее следующим образом:
- Выберите (как минимум) 3072bit при создании сертификата и параметров Диффи-Хеллмана (да, это займет некоторое время, но оно того стоит).
 
- Используйте только TLS1.2 : 
ssl_protocols TLSv1.2; 
- Используйте безопасную кривую: 
ssl_ecdh_curve secp384r1; 
- Используйте "современные" наборы шифров (по состоянию на 2016-06-30): 
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'; 
Обеспечить HTTPS для всех:
Перепишите свой блок HTTP- server следующим образом:
server {
    listen 80;
    listen [::]:80;
    server_name mySuperServer;
    return 301 https://$server_name$request_uri;
}
 
Используйте заголовок HSTS, чтобы заставить навигатор вашего посетителя использовать исключительно HTTPS: add_header Strict-Transport-Security 'max-age=31536000; includeSubdomains; preload';
 
 
Ваш сервер также может защитить ваш сайт (в некоторой степени), установив следующие заголовки:
add_header X-Frame-Options DENY;
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options nosniff;
add_header Content-Security-Policy "default-src 'none';
 
- Общая рекомендация: никогда не используйте 
root для изменения ваших файлов. Вместо этого используйте sudo . 
бонус
- Если на вашем сервере запущено nginx> 1.9.5, вы можете использовать HTTP/2, добавив 
http2 в директиву listen . 
- Ваш сервер получил адрес IPv6 (и поддерживает HTTP/2)? Хорошо ! Добавить 
listen [::]:443 ssl http2; ниже первой директивы listen . 
- Планируете ли вы использовать свой сервер для нескольких доменов? Затем вы должны установить 
access_log и error_log для каждого блока server .  
- Копирование /вставка редко вызывает ... Вы можете переместить блок 
### SSL/TLS SETTINGS ### в текстовый файл и включить его в свою конфигурацию. То же самое для вашего вызова CGI в PHP. 
- Вы можете немного ускорить обмен данными между nginx и вашим интерпретатором PHP, используя сокет UNIX вместо прослушивания вашего интерфейса обратной связи: 
fastcgi_pass unix:/var/run/php5-fpm.sock; , 
В результате ваш блок server должен выглядеть примерно так:
#HTTP server
server {
    listen 80;
    listen [::]:80;
    server_name mySuperServer;
    return 301 https://$server_name$request_uri;
}
# HTTPS server
server {
    listen 443 ssl http2 default_server;
    listen [::]:443 ssl http2;
    server_name mySuperServer;
    index index.php index.html index.htm;
    root /path/to/your/files/mySuperServer;
    access_log /var/log/nginx/mySuperServer/access.log;
    error_log /var/log/nginx/mySuperServer/error.log;
    ### SSL/TLS SETTINGS ###
    ssl on;
    ssl_certificate /path/to/your/cert.pem;
    ssl_certificate_key /path/to/your/privkey.pem;
    ssl_dhparam /path/to/your/dh_parameters.pem;
    include securityrules.inc;
    include fastcgi.inc;
}
Содержание securityrules.inc:
ssl_protocols TLSv1.2;
ssl_ecdh_curve secp384r1;
ssl_prefer_server_ciphers on;
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_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
###  HTTP HEADERS ###
add_header Strict-Transport-Security 'max-age=31536000; includeSubdomains; preload';
add_header X-Frame-Options DENY;
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options nosniff;
add_header Content-Security-Policy "default-src 'none';
Содержание fastcgi.inc:
location ~ \.php$ {
    include                 fastcgi_params;
    fastcgi_keep_conn       on;
    fastcgi_pass            unix:/var/run/php5-fpm.sock;
    fastcgi_index           index.php;
    fastcgi_param           SCRIPT_FILENAME $document_root$fastcgi_script_name;
}