http-server

Simple static HTTP server to serve static files.

TLDR

Start an HTTP server listening on the default port to serve the current directory

$ http-server
copy

Start an HTTP server on a specific port to serve a specific directory

$ http-server [path/to/directory] --port [port]
copy

Start an HTTP server using basic authentication

$ http-server --username [username] --password [password]
copy

Start an HTTP server with directory listings disabled

$ http-server -d [false]
copy

Start an HTTPS server on the default port using the specified certificate

$ http-server --ssl --cert [path/to/cert.pem] --key [path/to/key.pem]
copy

Start an HTTP server and include the client's IP address in the output logging

$ http-server --log-ip
copy

Start an HTTP server with CORS enabled by including the Access-Control-Allow-Origin: * header in all responses

$ http-server --cors
copy

Start an HTTP server with logging disabled

$ http-server --silent
copy

Help

usage: http-server [path] [options] 

options:
  -p --port    Port to use. If 0, look for open port. [8080] 
  -a           Address to use [0.0.0.0] 
  -d           Show directory listings [true] 
  -i           Display autoIndex [true] 
  -g --gzip    Serve gzip files when possible [false] 
  -b --brotli  Serve brotli files when possible [false] 
               If both brotli and gzip are enabled, brotli takes precedence 
  -e --ext     Default file extension if none supplied [none] 
  -s --silent  Suppress log messages from output 
  --cors[=headers]   Enable CORS via the "Access-Control-Allow-Origin" header 
                     Optionally provide CORS headers list separated by commas 
  -o [path]    Open browser window after starting the server. 
               Optionally provide a URL path to open the browser window to. 
  -c           Cache time (max-age) in seconds [3600], e.g. -c10 for 10 seconds. 
               To disable caching, use -c-1. 
  -t           Connections timeout in seconds [120], e.g. -t60 for 1 minute. 
               To disable timeout, use -t0 
  -U --utc     Use UTC time format in log messages. 
  --log-ip     Enable logging of the client's IP address 

  -P --proxy         Fallback proxy if the request cannot be resolved. e.g.: http://someurl.com 

  --username   Username for basic authentication [none] 
               Can also be specified with the env variable NODE_HTTP_SERVER_USERNAME 
  --password   Password for basic authentication [none] 
               Can also be specified with the env variable NODE_HTTP_SERVER_PASSWORD 

  -S --ssl     Enable https. 
  -C --cert    Path to ssl cert file (default: cert.pem). 
  -K --key     Path to ssl key file (default: key.pem). 

  -r --robots        Respond to /robots.txt [User-agent: *\nDisallow: /] 
  --no-dotfiles      Do not show dotfiles 
  --mimetypes        Path to a .types file for custom mimetype definition 
  -h --help          Print this list and exit. 
  -v --version       Print the version and exit. 

Copied to clipboard
coinbase