Provided by: micro-httpd_20050629-1_i386 bug


       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,

       *  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
       inetd services faster than a certain number of  times  per  minute,  it
       assumed  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 systems, 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
       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/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

                                 15 March 1999                  micro_httpd(8)