piterskiy

nginx secure file

Jan 17th, 2017
24,785
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # можно этот конфиг взять за основу, даёт A+ на ssllabs и поддерживает Internet Explorer 8 на Windows XP. server.com заменить на ваш сайт, в файл /etc/nginx/ssl/server.com-chain.crt положить сертификаты начиная от вашего (включая) до корневого (исключая), в файл /etc/nginx/ssl/server.com-stapling.crt положить сертификаты от корневого (включая) до вашего (исключая) (порядок вроде не влияет). Public-Key-Pins тут должны быть ваши публичные RSA ключи, инструкцию по получению нагуглить несложно (один ключ, использующийся для HTTPS, второй ключ запасной, если первый потеряете).
  2.  
  3. # Common configuration for all servers
  4.  
  5. server_tokens        off;
  6.  
  7. # SSL Configuration
  8. ssl_certificate           /etc/nginx/ssl/server.com-chain.crt;
  9. ssl_certificate_key       /etc/nginx/ssl/server.com.key;
  10. ssl_protocols             TLSv1 TLSv1.1 TLSv1.2;
  11. # ciphers from https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28default.29
  12. 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: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;
  13. ssl_prefer_server_ciphers on;
  14. ssl_session_cache         shared:SSL:10m;
  15. ssl_session_timeout       10m;
  16. ssl_stapling              on;
  17. ssl_stapling_verify       on;
  18. ssl_trusted_certificate   /etc/nginx/ssl/server.com-stapling.crt;
  19. resolver                  8.8.4.4 8.8.8.8 valid=300s;
  20. resolver_timeout          10s;
  21.  
  22. # Other security options
  23. add_header X-Frame-Options SAMEORIGIN;
  24.  
  25. # Main server
  26. server {
  27.     listen               443 deferred ssl spdy;
  28.     server_name          server.com;
  29.  
  30.     # Security options
  31.     add_header Strict-Transport-Security max-age=315360000;
  32.     add_header Public-Key-Pins 'pin-sha256="u1rziz25+GNKpcA3a5r5R4jbeDfMuHMiZk494HaLuYI="; pin-sha256="GBkmBjY5vf3Ah5nrlpoJXxFzt6pzLYmUlvJySAf3CGM="; max-age=315360000';
  33.    
  34.     ...
  35. }
  36.  
  37. # http://site.com : redirect to https://site.com
  38. server {
  39.     listen        80;
  40.     server_name   site.com;
  41.     return        301 https://$server_name$request_uri;
  42. }
  43.  
  44. # http(s)://www.site.com : redirect to https://site.com
  45. server {
  46.     listen        80;
  47.     listen        443 ssl;
  48.     server_name   site.com;
  49.     return        301 https://site.com$request_uri;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment