1{ ... }:
2{
3 name = "nginx-more-headers";
4
5 nodes = {
6 webserver =
7 { pkgs, ... }:
8 {
9 services.nginx = {
10 enable = true;
11
12 virtualHosts.test = {
13 locations = {
14 "/".return = "200 blub";
15 "/some" = {
16 return = "200 blub";
17 extraConfig = ''
18 more_set_headers "Referrer-Policy: no-referrer";
19 '';
20 };
21 };
22 extraConfig = ''
23 more_set_headers "X-Powered-By: nixos";
24 '';
25 };
26 };
27 };
28 };
29
30 testScript = ''
31 webserver.wait_for_unit("nginx")
32 webserver.wait_for_open_port(80)
33
34 webserver.succeed("curl --fail --resolve test:80:127.0.0.1 --head --verbose http://test | grep -q \"X-Powered-By: nixos\"")
35 webserver.fail("curl --fail --resolve test:80:127.0.0.1 --head --verbose http://test | grep -q \"Referrer-Policy: no-referrer\"")
36
37 webserver.succeed("curl --fail --resolve test:80:127.0.0.1 --head --verbose http://test/some | grep -q \"X-Powered-By: nixos\"")
38 webserver.succeed("curl --fail --resolve test:80:127.0.0.1 --head --verbose http://test/some | grep -q \"Referrer-Policy: no-referrer\"")
39 '';
40}