Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
micro_httpd(8)		    System Manager's Manual		micro_httpd(8)

       micro_httpd - really small HTTP server

       micro_httpd directory

       micro_httpd  is	a  very	 small HTTP server.  It	runs from inetd, which
       means its performance is	poor.  But for low-traffic sites,  it's	 quite
       adequate.   It implements all the basic features	of an HTTP server, in-

       *  Security against ".."	filename snooping.

       *  The common MIME types.

       *  Trailing-slash redirection.

       *  index.html

       *  Directory listings.

       All in 150 lines	of code.

       To install it, add a line like this to /etc/inetd.conf:
	   micro_http  stream tcp nowait nobody	 /usr/local/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.   Then  add  a  line like this to
	   micro_http	port/tcp   #Micro HTTP server
       Change "port" to	the port number	you want to use	- 80, 8000,  whatever.
       Then restart inetd by sending it	a "HUP"	signal,	or rebooting.

       On some systems,	inetd has a maximum spawn rate - if you	try to run in-
       etd services faster than	a certain number of times per minute,  it  as-
       sumed  there's 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'll 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 sys-
       tems, you can set the limit on a	per-service basis  in  inetd.conf,  by
       changing	"nowait" to "nowait.10000".

       Note  that you can use micro_httpd to serve HTTPS, if you like, by run-
       ning 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/local/sbin/micro_httpd --	 micro_httpd dir
       Make sure the paths to the certificate and executable are correct,  and
       again don't forget to change "dir" to the directory you want to serve.

       Copyright (C) 1999 by Jef Poskanzer <>.	All rights re-

				 15 March 1999			micro_httpd(8)


Want to link to this manual page? Use this URL:

home | help