nixos/nginx: make redirect status code configurable
Add an option to configure which code globalRedirect and forceSSL use. It previously was always 301 with no easy way to override.
This commit is contained in:
25
nixos/tests/nginx-redirectcode.nix
Normal file
25
nixos/tests/nginx-redirectcode.nix
Normal file
@@ -0,0 +1,25 @@
|
||||
import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
name = "nginx-redirectcode";
|
||||
meta.maintainers = with lib.maintainers; [ misterio77 ];
|
||||
|
||||
nodes = {
|
||||
webserver = { pkgs, lib, ... }: {
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
virtualHosts.localhost = {
|
||||
globalRedirect = "example.com/foo";
|
||||
# With 308 (and 307), the method and body are to be kept when following it
|
||||
redirectCode = 308;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
webserver.wait_for_unit("nginx")
|
||||
webserver.wait_for_open_port(80)
|
||||
|
||||
# Check the status code
|
||||
webserver.succeed("curl -si http://localhost | grep '^HTTP/[0-9.]\+ 308 Permanent Redirect'")
|
||||
'';
|
||||
})
|
||||
Reference in New Issue
Block a user