2016-01-14 2 views
1

Мой сайт будет работать исключительно на https://www.example.netNginx: сколько блока HTTPS сервера требуется для редиректа

У меня есть блок сервера для порта 80, который возвращает 301 в https://www.example.net, который работает, как ожидалось.

server { 
    listen 80 default_server; 
    listen [::]:80 default_server; 
    server_name www.example.net example.net; 
    return 301 https://www.example.net$request_uri; 
} 

С точки зрения делать то же самое на порту 443, я где-то читал, что сертификат переговоров происходит, прежде чем все остальное, и поэтому это 443 редирект блок должен иметь все детали сертификата. Мой вопрос: сколько из этого материала нужно повторить в этом блоке? В настоящее время у меня есть следующее:

server { 
    listen 443 ssl; 
    listen [::]:443 ssl; 

    # certs sent to the client in SERVER HELLO are concatenated in ssl_certificate 
    ssl_certificate /etc/ssl/certs/x.example.net.pem; 
    ssl_certificate_key /etc/ssl/private/example.net.key; 

    ssl_session_cache shared:SSL:20m; 
    ssl_session_timeout 1d; 
    ssl_session_tickets off; 

    # Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits 
    ssl_dhparam /etc/ssl/certs/dhparam.pem; 

    # intermediate configuration. tweak to your needs. 
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA'; 
    ssl_prefer_server_ciphers on; 

    # HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months) 
    add_header Strict-Transport-Security max-age=15768000; 

    # 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 /etc/ssl/certs/x.example.net.pem; 

    resolver 8.8.8.8 8.8.4.4; 

    server_name example.net; 

    return 301 https://www.example.net$request_uri; 

} 

Должен ли я настраивать заголовки строгой транспортной безопасности? Скобка OSCP? ssl_ciphers? Только для перенаправления?

Большое спасибо!


Edited добавить: что мой сертификат действителен как на WWW и не-WWW, и поэтому этот не усилия, чтобы избежать некрасивого предупреждения о несоответствии сертификата.

ответ

1

Следующие должны быть в блоке HTTP в nginx.conf так оно применяется ко всей конфиге сервера SSL и избежать this ошибки:

ssl_session_cache shared:SSL:20m; 
ssl_session_timeout 1d; 
ssl_session_tickets off; 

# Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits 
ssl_dhparam /etc/ssl/certs/dhparam.pem; 

# intermediate configuration. tweak to your needs. 
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA'; 
ssl_prefer_server_ciphers on; 

Остального должно остаться.

Смежные вопросы