]> git.openstreetmap.org Git - chef.git/blob - cookbooks/apache/templates/default/httpd.conf.erb
a9b4f2c0e8b84770991684d1c07dc77283a754c5
[chef.git] / cookbooks / apache / templates / default / httpd.conf.erb
1 # DO NOT EDIT - This file is being maintained by Chef
2
3 # Enable HTTP/2 over TLS
4 Protocols h2 http/1.1
5
6 # Set the number of seconds before receives and sends time out
7 Timeout <%= node[:apache][:timeout] %>
8
9 # Decide whether or not to allow persistent connections
10 Keepalive <%= node[:apache][:keepalive] ? "On" : "Off" %>
11 <% if node[:apache][:mpm] == "prefork" -%>
12
13 # Configure prefork MPM
14 StartServers <%= node[:apache][:prefork][:start_servers] %>
15 <% if node[:apache][:prefork][:server_limit] -%>
16 ServerLimit <%= node[:apache][:prefork][:server_limit] %>
17 <% end -%>
18 MinSpareServers <%= node[:apache][:prefork][:min_spare_servers] %>
19 MaxSpareServers <%= node[:apache][:prefork][:max_spare_servers] %>
20 MaxRequestWorkers <%= node[:apache][:prefork][:max_request_workers] %>
21 MaxConnectionsPerChild <%= node[:apache][:prefork][:max_connections_per_child] %>
22 <% end -%>
23 <% if node[:apache][:mpm] == "worker" -%>
24
25 # Configure worker MPM
26 StartServers <%= node[:apache][:worker][:start_servers] %>
27 <% if node[:apache][:worker][:server_limit] -%>
28 ServerLimit <%= node[:apache][:worker][:server_limit] %>
29 <% end -%>
30 MinSpareThreads <%= node[:apache][:worker][:min_spare_threads] %>
31 MaxSpareThreads <%= node[:apache][:worker][:max_spare_threads] %>
32 ThreadLimit <%= node[:apache][:worker][:thread_limit] %>
33 ThreadsPerChild <%= node[:apache][:worker][:threads_per_child] %>
34 MaxRequestWorkers <%= node[:apache][:worker][:max_request_workers] %>
35 MaxConnectionsPerChild <%= node[:apache][:worker][:max_connections_per_child] %>
36 <% end -%>
37 <% if node[:apache][:mpm] == "event" -%>
38
39 # Configure event MPM
40 StartServers <%= node[:apache][:event][:start_servers] %>
41 <% if node[:apache][:event][:server_limit] -%>
42 ServerLimit <%= node[:apache][:event][:server_limit] %>
43 <% end -%>
44 MinSpareThreads <%= node[:apache][:event][:min_spare_threads] %>
45 MaxSpareThreads <%= node[:apache][:event][:max_spare_threads] %>
46 ThreadLimit <%= node[:apache][:event][:thread_limit] %>
47 ThreadsPerChild <%= node[:apache][:event][:threads_per_child] %>
48 MaxRequestWorkers <%= node[:apache][:event][:max_request_workers] %>
49 MaxConnectionsPerChild <%= node[:apache][:event][:max_connections_per_child] %>
50 <% if node[:apache][:event][:async_request_worker_factor] -%>
51 AsyncRequestWorkerFactor <%= node[:apache][:event][:async_request_worker_factor] %>
52 <% end -%>
53 <% if node[:apache][:event][:listen_cores_buckets_ratio] -%>
54 ListenCoresBucketsRatio <%= node[:apache][:event][:listen_cores_buckets_ratio] %>
55 <% end -%>
56 <% end -%>
57
58 # Default to UTF-8
59 AddDefaultCharset utf-8
60
61 # Add extra mime types
62 AddType application/x-xz .xz
63
64 # Configure logging
65 BufferedLogs <%= node[:apache][:buffered_logs] ? "On" : "Off" %>
66
67 # Define an extended log format that includes request time and SSL details
68 <% if node[:lsb][:release].to_f >= 22.04 -%>
69 LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" %Dus %{SSL_PROTOCOL}x %{SSL_CIPHER}x" combined_extended
70 <% else -%>
71 LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" %Dus" combined_extended
72 <% end -%>