static-http2-server
v1.7.5
Published
Simple http2/spdy static server
Downloads
30
Readme
Stop bundling your css/js and enjoy HTTP2 and PUSH_PROMISE
http2-server
Simple HTTP2/SPDY server similiar to http-server using express & node-spdy
Installation
sudo npm install -g static-http2-server
Naive PUSH_PROMISE
By default http2-server match static resources with their Referer header (for example '/') and will server push them coupled with response, when refered resource (e.g. index.html) would be requested next time
Usage
http2-server [path] [options]
Options:
-h, --help output usage information
-V, --version output the version number
-a, --address [127.0.0.1] address to use
-p, --ssl-port [4443] ssl port to use
--http-port [8080] http port which redirects to ssl port
-c, --cache enable cache
-m, --maxAge [0] cache maxAge in ms acceptable string
https://github.com/zeit/ms
-P, --no-push disable naive PUSH_PROMISE
-o, --open [xdg-open] open default app after starting the server
-o firefox
-o "google-chrome --incognito"
-o "curl --insecure"
-l, --log [dev] log format (dev|combined|common|short|tiny)
https://github.com/expressjs/morgan#predefined-formats
-s, --silent suppress log messages from output
--cors enable CORS
-S, --no-ssl disable https
Works as plain http server without http2, spdy, push_promise
-e, --cert [certs/cert.pem] path to ssl cert file
-k, --key [certs/key.pem] path to ssl key file
--generate-cert save autogenerated certificates and exit
--trust-cert add certificate to trusted (currently linux only)
-g, --compression enable deflate/gzip/brotli/zopfli
-i, --index [index.html] Specify index file name
--proxy [https://127.0.0.1:4443] Proxies all requests which can't be resolved locally to the given url.
e.g.: -P http://someurl.com
-I, --no-autoindex Disable auto index
--404 404 error page
Usage as a dependency in your project
npm install static-http2-server --save
package.json:
...
"scripts": {
"start": "node_modules/.bin/http2-server -o",
},
...
SSL certificates
For development you can use autogenerated selfsigned certificates. For production you should use Let's encrypt or any other certificate authority
Generate selfsigned certificates and trust them
http2-server --generate-cert --trust-cert
Add previously generated certificate to trusted
http2-server --trust-cert --cert path/to/your.cert