Merge pull request #79046 from aanderse/http2
nixos/httpd: add http2 option
This commit is contained in:
commit
f87440fd0f
@ -29,8 +29,8 @@ let
|
|||||||
|
|
||||||
listenInfo = unique (concatMap mkListenInfo vhosts);
|
listenInfo = unique (concatMap mkListenInfo vhosts);
|
||||||
|
|
||||||
|
enableHttp2 = any (vhost: vhost.http2) vhosts;
|
||||||
enableSSL = any (listen: listen.ssl) listenInfo;
|
enableSSL = any (listen: listen.ssl) listenInfo;
|
||||||
|
|
||||||
enableUserDir = any (vhost: vhost.enableUserDir) vhosts;
|
enableUserDir = any (vhost: vhost.enableUserDir) vhosts;
|
||||||
|
|
||||||
# NOTE: generally speaking order of modules is very important
|
# NOTE: generally speaking order of modules is very important
|
||||||
@ -44,6 +44,7 @@ let
|
|||||||
"mpm_${cfg.multiProcessingModule}"
|
"mpm_${cfg.multiProcessingModule}"
|
||||||
]
|
]
|
||||||
++ (if cfg.multiProcessingModule == "prefork" then [ "cgi" ] else [ "cgid" ])
|
++ (if cfg.multiProcessingModule == "prefork" then [ "cgi" ] else [ "cgid" ])
|
||||||
|
++ optional enableHttp2 "http2"
|
||||||
++ optional enableSSL "ssl"
|
++ optional enableSSL "ssl"
|
||||||
++ optional enableUserDir "userdir"
|
++ optional enableUserDir "userdir"
|
||||||
++ optional cfg.enableMellon { name = "auth_mellon"; path = "${pkgs.apacheHttpdPackages.mod_auth_mellon}/modules/mod_auth_mellon.so"; }
|
++ optional cfg.enableMellon { name = "auth_mellon"; path = "${pkgs.apacheHttpdPackages.mod_auth_mellon}/modules/mod_auth_mellon.so"; }
|
||||||
@ -164,6 +165,7 @@ let
|
|||||||
SSLCertificateFile ${sslServerCert}
|
SSLCertificateFile ${sslServerCert}
|
||||||
SSLCertificateKeyFile ${sslServerKey}
|
SSLCertificateKeyFile ${sslServerKey}
|
||||||
${optionalString (sslServerChain != null) "SSLCertificateChainFile ${sslServerChain}"}
|
${optionalString (sslServerChain != null) "SSLCertificateChainFile ${sslServerChain}"}
|
||||||
|
${optionalString hostOpts.http2 "Protocols h2 h2c http/1.1"}
|
||||||
${acmeChallenge}
|
${acmeChallenge}
|
||||||
${mkVHostCommonConf hostOpts}
|
${mkVHostCommonConf hostOpts}
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
|
@ -135,6 +135,15 @@ in
|
|||||||
description = "Path to server SSL chain file.";
|
description = "Path to server SSL chain file.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
http2 = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Whether to enable HTTP 2. HTTP/2 is supported in all multi-processing modules that come with httpd. <emphasis>However, if you use the prefork mpm, there will
|
||||||
|
be severe restrictions.</emphasis> Refer to <link xlink:href="https://httpd.apache.org/docs/2.4/howto/http2.html#mpm-config"/> for details.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
adminAddr = mkOption {
|
adminAddr = mkOption {
|
||||||
type = types.nullOr types.str;
|
type = types.nullOr types.str;
|
||||||
default = null;
|
default = null;
|
||||||
|
Loading…
Reference in New Issue
Block a user