micro-httpd - really small HTTP server
micro-httpd is a very small HTTP server all in 150 lines of code. It runs from
inetd, which means its performance is poor. But for low-traffic sites, it is
quite adequate. It implements all the basic features of an HTTP server,
* Security against ".." filename snooping.
* The common MIME types.
* Trailing-slash redirection.
* Directory listings.
To install it, add a line like this to /etc/inetd.conf:
micro-http stream tcp nowait nobody \
/usr/sbin/micro-httpd micro-httpd dir
Make sure the path to the executable is correct, and change "dir" to
be the directory you want to serve. You could add line like this to
micro-http port/tcp #Micro HTTP server
Change "port" to the port number you want to use: 80, 8000, whatever.
Restart inetd by sending it a "HUP" signal.
On some systems, inetd has a maximum spawn rate - if you try to run inetd
services faster than a certain number of times per minute, it assumed there is
either a bug of an attack going on and it shuts down for a few minutes. If you
run into this problem - look for syslog messages about too-rapid looping - you
will need to find out how to increase the limit. Unfortunately this varies
from OS to OS. On FreeBSD, you add a "-R 10000" flag to inetd's
initial command line. On some Linux systems, you can set the limit on a
per-service basis in inetd.conf, by changing "nowait" to
Note that you can use micro-httpd to serve HTTPS, if you like, by running it
from stunnel. First fetch and install stunnel - FreeBSD users can just go to
/usr/ports/security/stunnel and do a "make cert ; make install".
Then as root run:
stunnel -p /usr/local/certs/stunnel.pem -d 443 -l \
/usr/sbin/micro-httpd -- micro-httpd dir
Make sure the paths to the certificate and executable are correct, and again don
not forget to change "dir" to the directory you want to serve.
Copyright (C) 1999 Jef Poskanzer <firstname.lastname@example.org>. All rights reserved.
This manual page was updated by Jari Aalto <email@example.com>.
Released under license GNU GPL v2 or (at your option) any later version. For
more information about license, visit