-
Ciphers to choose from when negotiating TLS handshakes.
Type
null or string
Default
"ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305"
Declarations
-
Whether to enable FC-customized nginx.
Type
boolean
Default
false
Example
true
Declarations
-
Whether to enable Global rate limiting.
Type
boolean
Default
false
Example
true
Declarations
-
Whether to ask Let's Encrypt to sign a certificate for this vhost.
Alternately, you can use an existing certificate through {option}useACMEHost
.
Type
boolean
Default
false
Declarations
-
Listen addresses and ports for this virtual host.
IPv6 addresses must be enclosed in square brackets.
Note: this option overrides addSSL
and onlySSL
.
If you only want to set the addresses manually and not
the ports, take a look at listenAddresses
.
Type
list of (submodule)
Default
[ ]
Example
[
{
addr = "195.154.1.1";
port = 443;
ssl = true;
}
{
addr = "192.154.1.1";
port = 80;
}
{
addr = "unix:/var/run/nginx.sock";
}
]
Declarations
-
Sets the maximum number of concurrent requests per client.
Type
positive integer, meaning >0
Default
200
Declarations
-
Whether to enable the HTTP/0.9 protocol negotiation used in QUIC interoperability tests.
This requires using pkgs.nginxQuic
package
which can be achieved by setting services.nginx.package = pkgs.nginxQuic;
and activate the QUIC transport protocol
services.nginx.virtualHosts.<name>.quic = true;
.
Note that special application protocol support is experimental and not yet recommended for production.
Read more at https://quic.nginx.org/
Type
boolean
Default
false
Declarations
-
Enable recommended proxy settings.
Type
boolean
Default
config.services.nginx.recommendedProxySettings
Declarations
-
These lines go to the end of the location verbatim.
Type
strings concatenated with "\n"
Default
""
Declarations
-
Path to root SSL certificate for stapling and client certificates.
Type
null or path
Default
null
Example
"${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"
Declarations
-
Configuration lines to be appended inside of the http {} block.
Type
strings concatenated with "\n"
Default
""
Declarations
-
Whether to enable HTTPS in addition to plain HTTP. This will set defaults for
listen
to listen on all interfaces on the respective default
ports (80, 443).
Type
boolean
Default
false
Declarations
-
Addresses to listen on if a vhost does not specify any.
Type
list of string
Default
"addresses of the `fe` network (IPv4 & IPv6)"
Declarations
-
Listen address.
-
Whether to enable the HTTP/3 protocol.
This requires using pkgs.nginxQuic
package
which can be achieved by setting services.nginx.package = pkgs.nginxQuic;
and activate the QUIC transport protocol
services.nginx.virtualHosts.<name>.quic = true;
.
Note that HTTP/3 support is experimental and not yet recommended for production.
Read more at https://quic.nginx.org/
HTTP/3 availability must be manually advertised, preferably in each location block.
Type
boolean
Default
false
Declarations