Skip to content

Commit 92a7958

Browse files
committed
Test Perl-powered rewites (see #36)
1 parent 2d601b7 commit 92a7958

File tree

4 files changed

+20
-0
lines changed

4 files changed

+20
-0
lines changed

.github/workflows/dockerimage.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,13 @@ jobs:
6363
grep --fixed-strings '<p>It works!</p>' /tmp/out
6464
6565
66+
curl -v --compressed localhost:8888/FooBar 2>&1 | tee /tmp/out
67+
68+
grep --fixed-strings 'HTTP/1.1 301 Moved Permanently' /tmp/out
69+
grep --fixed-strings '< x-rewrite: 1' /tmp/out
70+
grep --fixed-strings '< Location: http://localhost/foobar' /tmp/out
71+
72+
6673
curl -v --compressed https://localhost:8889 2>&1 | tee /tmp/h2
6774
6875
grep --fixed-strings '< HTTP/2 200' /tmp/h2

run-docker.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ docker run --rm \
55
-p 0.0.0.0:8889:443/udp \
66
-v "$PWD/tests":/static:ro \
77
-v "$PWD/tests/modules.conf":/etc/nginx/main.d/modules.conf:ro \
8+
-v "$PWD/tests/perl_rewrite.conf":/etc/nginx/conf.d/perl_rewrite.conf:ro \
89
-v "$PWD/tests/static.conf":/etc/nginx/conf.d/static.conf:ro \
910
-v "$PWD/tests/https.conf":/etc/nginx/conf.d/https.conf:ro \
1011
-v "$PWD/tests/localhost.crt":/etc/nginx/ssl/localhost.crt:ro \

tests/perl_rewrite.conf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# https://www.rewriteguide.com/nginx-enforce-lower-case-urls/
2+
perl_set $uri_lowercase 'sub {
3+
my $r = shift;
4+
my $uri = $r->uri;
5+
$uri = lc($uri);
6+
return $uri;
7+
}';

tests/static.conf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,9 @@ server {
1010

1111
expires 1d;
1212
}
13+
14+
location ~ [A-Z] {
15+
add_header x-rewrite 1;
16+
rewrite ^(.*)$ $scheme://$host$uri_lowercase permanent;
17+
}
1318
}

0 commit comments

Comments
 (0)