http-server Go letsencrypt HTTP
Need help with simple-httpd?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.


Drop-in replacement for Python SimpleHTTPServer. Provides TLS via Let's Encrypt over HTTP2, and auto generated self-signed certificates.

214 Stars 15 Forks Apache License 2.0 77 Commits 1 Opened issues

Services available

Need anything else?


Build Status

simple-httpd is aimed to be a simple replacement for using

python -m SimpleHTTPServer
to serve local files. Like SimpleHTTPServer, simple-httpd supports HTTP GET and HEAD requests and adheres to the HTTP/1.1 RFC 2616 guidelines.

The HTML output is a mix of the Python module layout and of an Apache directory listing layout.

If you're looking for a full featured or even just more capable web server, take a look at Caddy.


  • HTTP2 with Let's Encrypt integration for automatic TLS if enabled
  • Automatic self signed certificate generation and use if enabled

Certificates are cached in

for reuse.


go get


make install
or, on BSD
gmake install


HTTP/1.1 on default port (8000)


HTTP/1.1 on the given port

simple-httpd -p 8181

HTTP/2 with Let's Encrypt on the default port

simple-httpd -l some.valid.domain

The port assignment is for the HTTP server. The TLS port will be 8081 and both will respond to requests.

simple-httpd -p 8080 -t some.valid.domain

Generate a self signed certificate and run the server

simple-httpd -g


  • File Issue with details of the problem, feature request, etc.
  • Submit a pull request and include details of what problem or feature the code is solving or implementing.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.