mailhost.erb 2.1 KB

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