Skip to content

Instantly share code, notes, and snippets.

@cho45
Last active September 29, 2015 05:39
Show Gist options
  • Save cho45/4fb823f42ccd18bc8b29 to your computer and use it in GitHub Desktop.
Save cho45/4fb823f42ccd18bc8b29 to your computer and use it in GitHub Desktop.
launch local http/https static server
#!/bin/sh
# brew install h2o
# clone h2o
# cmake .
# make install
H2OCONF=`mktemp -t h2o.conf`
CRT=`mktemp -t server.crt`
KEY=`mktemp -t server.key`
cat <<EOF > $CRT
-----BEGIN CERTIFICATE-----
MIIDIjCCAgoCCQCspz6hastDgDANBgkqhkiG9w0BAQUFADBTMQswCQYDVQQGEwJK
UDEOMAwGA1UECBMFS3lvdG8xDjAMBgNVBAcTBUt5b3RvMRAwDgYDVQQKEwdFeGFt
cGxlMRIwEAYDVQQDEwlsb2NhbGhvc3QwHhcNMTUwOTIyMDk0MzMxWhcNMTgwNzEy
MDk0MzMxWjBTMQswCQYDVQQGEwJKUDEOMAwGA1UECBMFS3lvdG8xDjAMBgNVBAcT
BUt5b3RvMRAwDgYDVQQKEwdFeGFtcGxlMRIwEAYDVQQDEwlsb2NhbGhvc3QwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2sMmodlHZVRYklxJLB+GEtJVj
EzUSodwmn/pCd59d9DoWKLKZ1Nz6EwbR4QGU8hQQQ2A9eglWh3nB+RLoMMPESJyQ
AayKkEcavdtCdmMBct9VAxA2QuC5JIFzGmNAtRdtGNwPNIcVv3eFEK5v8OQAA+c7
nVQ0n2E1pG2RrGidN1LU3HWBLM28aHxLZn17OonmWeGC8/il/2SqAbqf54wR8Cix
u6SMo7qPAgownjERt3pdMXPgv/5HmZXoi2NZgZZO1gU1/kAkM6oDAaXrbYAuDhvg
bs1IzE3rg7VcOQ0MfxN8SKHOB3nIV3aeMePeixPkWAVvwfnMJFix8zZ1pMOJAgMB
AAEwDQYJKoZIhvcNAQEFBQADggEBACLlQUNTFxxc1T132lWLZohFs1VwFb/jTbvr
RcYR1LokN6WjpfFnzm8L+f9J9XipbA4b/Cb4a6T4kLlgYpIBFuryWJg4Q12324ma
+xOYshSafu97kZNPa32eubSS1mv3S0l+J3OWX9XatxNZcY2JQpqMlDSXsazbg4Zz
OG5l1QMGTgIQ7YvQokZ1AAczcaHiK9DJR9R/egYWkp7HTDkljmVbwLaF3zztOwzt
iv3BLETPvuii6UzthGmFkTVfkx3Mc/8InL/ee/n9KY+kv1OkE8jiDv1iUwjBp3T4
9t2NzFiHAy23iHeaVQKsm9fVuu2akjHPNH9bzZWNRZN3P4AKLCQ=
-----END CERTIFICATE-----
EOF
cat <<EOF > $KEY
-----BEGIN RSA PRIVATE KEY-----
MIIEpgIBAAKCAQEAtrDJqHZR2VUWJJcSSwfhhLSVYxM1EqHcJp/6QnefXfQ6Fiiy
mdTc+hMG0eEBlPIUEENgPXoJVod5wfkS6DDDxEickAGsipBHGr3bQnZjAXLfVQMQ
NkLguSSBcxpjQLUXbRjcDzSHFb93hRCub/DkAAPnO51UNJ9hNaRtkaxonTdS1Nx1
gSzNvGh8S2Z9ezqJ5lnhgvP4pf9kqgG6n+eMEfAosbukjKO6jwIKMJ4xEbd6XTFz
4L/+R5mV6ItjWYGWTtYFNf5AJDOqAwGl622ALg4b4G7NSMxN64O1XDkNDH8TfEih
zgd5yFd2njHj3osT5FgFb8H5zCRYsfM2daTDiQIDAQABAoIBAQCc+77dFobwpO+5
E2Oxu5zrBq3Ti76wOwvM2O0YTmhQOLvtLJ2EGGimLtFOafWNApOBAhRh30rE4vca
WigIA1dFhEucZwPXsXCYJwqQyt/6b7Y++7njloY6MYdW3BbrlHED2zfFjRKC+pr+
ab4rDKku5iu9i0y/RzEmAhvw8GCYrmxAoCc795Z3W2OuV48bJc6oi/eKTNizSAXE
QIaAp9csf+N4F1KuSGWtgg3IbnrBBZNFSsMVQ9FmXVQdTJ2yK4rO4AKrMeWzKOvK
JdgWF4H6z/dtqpvC5hctQeiD1TyjWa0Fu5Yv1RoIaOXH6RBhC53jMKigDXN1y+77
JI0/Uq4dAoGBAOPQmIDVE8KGivVc0cE+euyJKhem84sjf2hFjjEvNEQjiwpr5cXb
/uwfg+Fvdfzh7CIvrtFqjbGqLRfk7Yvb9ppyN3k1uswSsX7NqUa9dfNthd3j60c6
vpBYcRsRZ0qGxL/5iqtrdlj7wnCv5qXL2hdBgizchmjmv14+JkK/wySHAoGBAM1L
AZm6LoQ2Wjcadgj7V9Q/xIBWh2rCSedTXLMZAAQOM7tw/qgHIgbaxrpbLI//QuBf
TjNzpGSLIxVjas4wx8xlhxsgXkm/Bo2xr2fd8rZzJMzmlsOqyn5JFXoKYzPTQYqD
hEDNqVXepc48YPq9QIEjvopL+LGwUwXwe2JGgOtvAoGBANlsuGAc/KLnbbAHSlm4
m/EsZ/Py7vWYh3ypBbCDcMqncYgcuktAT+hjm6aIjn8v0AJAqAROQbWSyT7Iyr50
zMNSxwbz9LfYD3cKKcjOAci2etDvOhndQwrYnfpLfd1vClB+hY5dHbKHdWe/Oc56
5EbVyruuLMnpkDMN9c423rP5AoGBAK2e29GpViHW3eFwbZcXCqak74kipRAzFNGg
/OszH4JOiI3j+Fse/TYS3LNK3JtD5MlhkP+Os9+clKVIGVIciz1gOC1G6Lcx6Vb4
iUIswVJwexUXhzYgQXUgVhuKoW95IRsGM1mjFa1byZpsEhC88crF8iWALuoIF48U
XSU2P13dAoGBANzNc4lAsW/3HkXPfIsSRtLgVv4pfqmBRSWyvWa2cfwSGz6nQb4o
3QT2wiDq4P+Gbnh8EFEHwKblBrGs2T/3WMW1loh9p3FC9Dz/6CYRgOgfv7IuYHQX
vvU3oq3oQAG2AjGRYeMKgu//pcr4IV4uemmdhJH0ggqPxMotHf6z9YTI
-----END RSA PRIVATE KEY-----
EOF
cat <<EOF > $H2OCONF
hosts:
"localhost":
listen:
port: 8080
listen:
port: 8443
ssl:
certificate-file: $CRT
key-file: $KEY
paths:
/:
file.dir: $PWD
file.dirlisting: ON
ssl-session-resumption:
mode: all
access-log: /dev/stdout
error-log: /dev/stdout
http2-reprioritize-blocking-assets: ON
EOF
cat $H2OCONF
h2o --conf $H2OCONF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment