2019-11-03 15:21:12 +00:00
|
|
|
# This file defines the options that can be used both for the Nginx
|
2016-01-24 15:50:54 +00:00
|
|
|
# main server configuration, and for the virtual hosts. (The latter
|
|
|
|
# has additional options that affect the web server as a whole, like
|
|
|
|
# the user/group to run under.)
|
|
|
|
|
|
|
|
{ lib }:
|
|
|
|
|
|
|
|
with lib;
|
|
|
|
|
|
|
|
{
|
|
|
|
options = {
|
|
|
|
proxyPass = mkOption {
|
|
|
|
type = types.nullOr types.str;
|
|
|
|
default = null;
|
|
|
|
example = "http://www.example.org/";
|
|
|
|
description = ''
|
2017-02-11 03:09:11 +00:00
|
|
|
Adds proxy_pass directive and sets recommended proxy headers if
|
|
|
|
recommendedProxySettings is enabled.
|
2016-08-26 00:24:10 +01:00
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
2017-02-11 03:11:35 +00:00
|
|
|
proxyWebsockets = mkOption {
|
|
|
|
type = types.bool;
|
|
|
|
default = false;
|
|
|
|
example = true;
|
|
|
|
description = ''
|
|
|
|
Whether to supporty proxying websocket connections with HTTP/1.1.
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
2016-08-26 00:24:10 +01:00
|
|
|
index = mkOption {
|
|
|
|
type = types.nullOr types.str;
|
|
|
|
default = null;
|
|
|
|
example = "index.php index.html";
|
|
|
|
description = ''
|
|
|
|
Adds index directive.
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
|
|
|
tryFiles = mkOption {
|
|
|
|
type = types.nullOr types.str;
|
|
|
|
default = null;
|
|
|
|
example = "$uri =404";
|
|
|
|
description = ''
|
|
|
|
Adds try_files directive.
|
2016-01-24 15:50:54 +00:00
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
|
|
|
root = mkOption {
|
|
|
|
type = types.nullOr types.path;
|
|
|
|
default = null;
|
2016-08-01 18:35:01 +01:00
|
|
|
example = "/your/root/directory";
|
2016-01-24 15:50:54 +00:00
|
|
|
description = ''
|
|
|
|
Root directory for requests.
|
|
|
|
'';
|
|
|
|
};
|
2016-02-10 15:02:38 +00:00
|
|
|
|
2017-03-09 18:02:29 +00:00
|
|
|
alias = mkOption {
|
|
|
|
type = types.nullOr types.path;
|
|
|
|
default = null;
|
|
|
|
example = "/your/alias/directory";
|
|
|
|
description = ''
|
|
|
|
Alias directory for requests.
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
2019-03-13 17:29:13 +00:00
|
|
|
return = mkOption {
|
|
|
|
type = types.nullOr types.str;
|
|
|
|
default = null;
|
|
|
|
example = "301 http://example.com$request_uri;";
|
|
|
|
description = ''
|
|
|
|
Adds a return directive, for e.g. redirections.
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
2016-02-10 15:02:38 +00:00
|
|
|
extraConfig = mkOption {
|
|
|
|
type = types.lines;
|
|
|
|
default = "";
|
|
|
|
description = ''
|
|
|
|
These lines go to the end of the location verbatim.
|
|
|
|
'';
|
|
|
|
};
|
2018-06-29 18:17:54 +01:00
|
|
|
|
|
|
|
priority = mkOption {
|
|
|
|
type = types.int;
|
|
|
|
default = 1000;
|
|
|
|
description = ''
|
|
|
|
Order of this location block in relation to the others in the vhost.
|
|
|
|
The semantics are the same as with `lib.mkOrder`. Smaller values have
|
|
|
|
a greater priority.
|
|
|
|
'';
|
|
|
|
};
|
2016-01-24 15:50:54 +00:00
|
|
|
};
|
|
|
|
}
|