Wondering what’s next for npm?Check out our public roadmap! »

    static-http2-server

    1.7.5 • Public • Published

    Stop bundling your css/js and enjoy HTTP2 and PUSH_PROMISE

    npm version Build Status

    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
    

    Additionally you can try

    letsencrypt-cli

    Install

    npm i static-http2-server

    DownloadsWeekly Downloads

    214

    Version

    1.7.5

    License

    ISC

    Unpacked Size

    25 kB

    Total Files

    30

    Last publish

    Collaborators

    • avatar