|
| 1 | +#!/usr/bin/env bash |
| 2 | + |
| 3 | +# Example ssl domain on local machine with docker |
| 4 | +# Please map ssldomain.local to 127.0.0.1 before running the script |
| 5 | + |
| 6 | +# Start nginx proxy container |
| 7 | +docker run -d -p 80:80 -p 443:443 \ |
| 8 | + --name nginx-proxy \ |
| 9 | + -v /etc/nginx/certs \ |
| 10 | + -v /etc/nginx/vhost.d \ |
| 11 | + -v /usr/share/nginx/html \ |
| 12 | + -v /var/run/docker.sock:/tmp/docker.sock:ro \ |
| 13 | + --label com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy \ |
| 14 | + jwilder/nginx-proxy |
| 15 | + |
| 16 | +# Start nginx ssl companion container |
| 17 | +docker run -d \ |
| 18 | + --name nginx-ssl-companion \ |
| 19 | + -v /var/run/docker.sock:/var/run/docker.sock:ro \ |
| 20 | + --volumes-from nginx-proxy \ |
| 21 | + jrcs/letsencrypt-nginx-proxy-companion |
| 22 | + |
| 23 | +docker exec nginx-ssl-companion \ |
| 24 | + openssl req -x509 \ |
| 25 | + -newkey rsa:4096 \ |
| 26 | + -sha256 \ |
| 27 | + -nodes \ |
| 28 | + -days 365 \ |
| 29 | + -subj '/CN=ssldomain.local' \ |
| 30 | + -keyout /etc/nginx/certs/ssldomain.local.key \ |
| 31 | + -out /etc/nginx/certs/ssldomain.local.crt |
| 32 | + |
| 33 | +docker exec nginx-proxy nginx -s reload |
| 34 | + |
| 35 | +# Start container listening on domain |
| 36 | +docker run -d -e "VIRTUAL_HOST=ssldomain.local" --name nginx-ssl-test oak3docker/phpdev |
| 37 | + |
| 38 | +# Test ssl connection |
| 39 | +curl -s -D -k -v "https://ssldomain.local" -o /dev/null |
0 commit comments