Skip to content

Commit 4f4a71c

Browse files
authored
Merge pull request #33 from macbre/https-tests
Add tests for HTTPS and h2 support
2 parents 1b21b52 + 0428cd7 commit 4f4a71c

File tree

5 files changed

+86
-8
lines changed

5 files changed

+86
-8
lines changed

.github/workflows/dockerimage.yml

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,22 +28,17 @@ jobs:
2828
# @see https://docs.docker.com/engine/reference/commandline/build/#specifying-external-cache-sources
2929
# no need to "docker pull $CACHE_IMAGE", BuildKit is clever enough to pull it when needed
3030
docker build . \
31-
--tag ${{ github.repository }} \
31+
--tag macbre/nginx \
3232
--build-arg BUILDKIT_INLINE_CACHE=1 \
3333
--cache-from $CACHE_IMAGE
3434
docker images
3535
3636
- name: Run nginx -V
37-
run: docker run -t ${{ github.repository }} nginx -V
37+
run: docker run -t macbre/nginx nginx -V
3838

3939
- name: Serve a static asset
4040
run: |
41-
docker run --detach --rm \
42-
-p 0.0.0.0:8888:80 \
43-
-v "$PWD/tests":/static:ro \
44-
-v "$PWD/tests/static.conf":/etc/nginx/conf.d/static.conf:ro \
45-
--name test_nginx \
46-
-t ${{ github.repository }}
41+
./run-docker.sh &
4742
4843
sleep 2; docker ps
4944
curl -v --compressed 0.0.0.0:8888 2>&1 | tee /tmp/out
@@ -52,4 +47,12 @@ jobs:
5247
grep --fixed-strings '< Content-Encoding: br' /tmp/out
5348
grep --fixed-strings '<p>It works!</p>' /tmp/out
5449
50+
51+
curl -v --compressed --insecure https://0.0.0.0:8889 2>&1 | tee /tmp/h2
52+
53+
grep --fixed-strings '< HTTP/2 200' /tmp/h2
54+
grep --fixed-strings '< server: nginx' /tmp/h2
55+
grep --fixed-strings '<p>It works!</p>' /tmp/h2
56+
57+
5558
docker logs test_nginx

run-docker.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/bin/sh
2+
docker run --rm \
3+
-p 0.0.0.0:8888:80 \
4+
-p 0.0.0.0:8889:443 \
5+
-v "$PWD/tests":/static:ro \
6+
-v "$PWD/tests/static.conf":/etc/nginx/conf.d/static.conf:ro \
7+
-v "$PWD/tests/https.conf":/etc/nginx/conf.d/https.conf:ro \
8+
-v "$PWD/tests/localhost.crt":/etc/nginx/ssl/localhost.crt:ro \
9+
-v "$PWD/tests/localhost.key":/etc/nginx/ssl/localhost.key:ro \
10+
--name test_nginx \
11+
-t macbre/nginx

tests/https.conf

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
server {
2+
listen 443 ssl http2;
3+
server_name localhost;
4+
5+
# openssl-generated pair for local development
6+
# https://letsencrypt.org/docs/certificates-for-localhost/
7+
ssl_certificate /etc/nginx/ssl/localhost.crt;
8+
ssl_certificate_key /etc/nginx/ssl/localhost.key;
9+
10+
location / {
11+
root /static;
12+
13+
gzip_static on;
14+
brotli_static on;
15+
16+
expires 1d;
17+
}
18+
}

tests/localhost.crt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIC5TCCAc2gAwIBAgIJAMTIcHZxspojMA0GCSqGSIb3DQEBCwUAMBQxEjAQBgNV
3+
BAMMCWxvY2FsaG9zdDAeFw0yMTA1MTgxMzU2MjhaFw0yMTA2MTcxMzU2MjhaMBQx
4+
EjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
5+
ggEBAMZ8LqQkwnAFF7GZkux4Fz0EQrzzRTGLC9cQABS93gHKJul9MlQ+APK3T7a8
6+
+HQJNrTxb3ZfwZ+vAwsfSgKmDp63AzdAkYNMb3ldGbKOUP12GsluTb+MV0f9ir3S
7+
Kcs3BC88TQMtotSOjb/aqqM7ziLtkpaw0Po+tMncrU3bpTisFv7QtExx32duNlhp
8+
yY5xSgCuK7cKPanIsfTZ36e2AsKBDuPZxqf5RoQ1Zx2VDmfqMfiOwlrsIksAJT4I
9+
YL5GHJYpwSC8Eox1nA9zohvBvo6EkWtuT6kBQFmo911ZEezul0I2DDvSscFqPU3x
10+
5J3Btnxr0FkUEozM1HHXQBU7hcECAwEAAaM6MDgwFAYDVR0RBA0wC4IJbG9jYWxo
11+
b3N0MAsGA1UdDwQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDATANBgkqhkiG9w0B
12+
AQsFAAOCAQEAIOpieZ1blUR0GTsG8DJlllBH4zAiF/DxPrU8totN3BGh71JQgN/R
13+
xWgEHMRiDRPDawMuHhvPI6mDe+BsHQNA9uNvAjHDo8tUHAADmhN2xvUnHIheUOpM
14+
7AcIj+Gs5dRiO0LxcqS3LrGsg9ZdUFDBO9ABNDD2l6Inr/sj4OtItO4i7WsTbNr3
15+
EKF6AFAbTV0NhdUcQ4+2X3+fMEVshokW+Kytl5y96eVlvYP2hc3qXW9ZdNrq4xBC
16+
v5lTk73N/YsOVrcf9MV8lj6VHhp0G4DxgrW8qIc6lI5y7nRVgyjkYqN4V5NBJ8/I
17+
/F4n/NGKh05OYc+AaOcOGnQjYGBBsCjtfA==
18+
-----END CERTIFICATE-----

tests/localhost.key

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
-----BEGIN PRIVATE KEY-----
2+
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDGfC6kJMJwBRex
3+
mZLseBc9BEK880UxiwvXEAAUvd4ByibpfTJUPgDyt0+2vPh0CTa08W92X8GfrwML
4+
H0oCpg6etwM3QJGDTG95XRmyjlD9dhrJbk2/jFdH/Yq90inLNwQvPE0DLaLUjo2/
5+
2qqjO84i7ZKWsND6PrTJ3K1N26U4rBb+0LRMcd9nbjZYacmOcUoAriu3Cj2pyLH0
6+
2d+ntgLCgQ7j2can+UaENWcdlQ5n6jH4jsJa7CJLACU+CGC+RhyWKcEgvBKMdZwP
7+
c6Ibwb6OhJFrbk+pAUBZqPddWRHs7pdCNgw70rHBaj1N8eSdwbZ8a9BZFBKMzNRx
8+
10AVO4XBAgMBAAECggEBAKtvBOX3bg1NCLr390PRMdkcvfvvblstSsu1YSyJFaCc
9+
FuHipb7HUxBQrkQakcm/T4YXZntql5Uxl0JbAxSoksYZMmjdlxE9yqabeB+V9nQF
10+
N3u1jueb8qMWZWgwhrKj0TRvM+FD4HkQq3QDDREyDYhzhAIttEIAOSyFMxalWN5J
11+
lM3rlNU9ATy/7Zv+0fbZVyp4yIvXToGSwSEYJlhhsfS77by16mDgu8ANNL7k14Vw
12+
luogmLZ51VTo0ppT0UI3AjxnA/hG+K5SW95ySI8NWJEeGNAhu8A1bIjs9K6D7GVq
13+
LfazaT4dZH4GuwH0bfvUlrmi0GYNilcePIijjpHx4HECgYEA/nH53s6C4jNw222w
14+
4IntSM18Cc9e8TDzuGsVEmC/Fyo50NU0XT+qSKP6/Bx6bpNe9VaMG+nWYP31rncc
15+
6GECKIyW13+Z5DZCJbhFZYsErp5yZkj16paz1MOifgYs+FXYd3FT7y9Zp8+x67ap
16+
Wuq1x3RqdD2IQDdEy7tHEk8fPCUCgYEAx7KrMmG8bwO/Jm2k6oeYrWJSO8oQqC5i
17+
fw8C7ABKSISjJd4ci3s+ehpPzl6E/2+ixnRzw81LDMZUuORL6CKLD0CadYd8fgux
18+
B9B60AyifUcfdexflaO+L+i+0M8z+WIpJP2E8bz8XMlnoaRPlr7vEXOXGz2yRU3K
19+
aKj1epeKIm0CgYEA3AjwTg9D/B0EAZ2wEdz0x7p7A3jC38y3VsmzZTsoxP2NFdzp
20+
9aGyvjKgPxjZf3oN6he3/gOPkjzMEt2KsCID3dEGOMFt8X5CYaAi0xcPK3p176I0
21+
l3NPfDTZ9iWdCfwiv9fO/85wt7/SWsaRWcATBrLTxEXZ575jzdLcOScXGckCgYEA
22+
tp2ptnHwGmkHtUGRDTOgp/WAk9Jttw5r3htBJcYCKBy7ARcDbX3vnUNQdbyzzM8u
23+
wGKfto+WsQDxWv7Sd16XYgRG+3FBpBZW9nlsxbK4KO4QVAsrQbEya6dgT50bv1NH
24+
ot7/YvzanpNDZGrYqVbDUmcs6Klby8qebWUMzuWjWWUCgYAUETANVSJjoHT87Rm3
25+
qEsSSpy1vcdTj/F0GiG390bjXZLaLWK11mjUf0KmLD43MnA4hT3VwC8n+3kAapaS
26+
Jac1k0Ed1sqlj7ivqviV2UFYK9hdSDKD4oqzy5tkjgQ1kB0KHT0Lpi5iUbPH/6gx
27+
q9zVwmZ0CYpfE9Qw6I+YEpG2cA==
28+
-----END PRIVATE KEY-----

0 commit comments

Comments
 (0)