mailhost_ssl.erb 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. # MANAGED BY PUPPET
  2. server {
  3. <%- if @listen_ip.is_a?(Array) then -%>
  4. <%- @listen_ip.each do |ip| -%>
  5. listen <%= ip %>:<%= @ssl_port %>;
  6. <%- end -%>
  7. <%- else -%>
  8. listen <%= @listen_ip %>:<%= @ssl_port %>;
  9. <%- end -%>
  10. <%# check to see if ipv6 support exists in the kernel before applying -%>
  11. <%- if @ipv6_enable && (defined? @ipaddress6) -%>
  12. <%- if @ipv6_listen_ip.is_a?(Array) then -%>
  13. <%- @ipv6_listen_ip.each do |ipv6| -%>
  14. listen [<%= ipv6 %>]:<%= @ssl_port %><% if @ipv6_listen_options %> <%= @ipv6_listen_options %><% end %>;
  15. <%- end -%>
  16. <%- else -%>
  17. listen [<%= @ipv6_listen_ip %>]:<%= @ssl_port %><% if @ipv6_listen_options %> <%= @ipv6_listen_options %><% end %>;
  18. <%- end -%>
  19. <%- end -%>
  20. server_name <%= @server_name.join(" ") %>;
  21. protocol <%= @protocol %>;
  22. xclient <%= @xclient %>;
  23. auth_http <%= @auth_http %>;
  24. ssl on;
  25. ssl_certificate <%= @ssl_cert %>;
  26. ssl_certificate_key <%= @ssl_key %>;
  27. ssl_session_timeout 5m;
  28. ssl_protocols TLSv1;
  29. # Suggested from https://wiki.mozilla.org/Security/Server_Side_TLS#Nginx
  30. 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-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';
  31. ssl_prefer_server_ciphers on;
  32. }