busybox httpd用法及httpd.conf说明

来源:互联网 发布:c语言教学ppt 编辑:程序博客网 时间:2024/06/07 10:14

没玩过httpd,很纠结怎么用,找了很多资料,甚至httpd.conf都不知道怎么下手,但实际上,如果不需要特殊配置的话,不需要httpd.conf文件也可以,例如使用以下命令:

httpd -p 80 -u 80 -h /www(web所在目录)即可。

当然也可以参考如下文件执行:

基本用法: httpd -h /documentroot -c /etc/httpd.conf



特殊IP的访问控制 deny > allow > deny *   拒绝后也是空白?HTTP 錯誤 403 - 禁止 
   * A:172.20.         # Allow address from 172.20.0.0/16
   * D:*               # Deny from other IP connections
  特殊页面的设置     404不起作用?绝对路径
   * E404:/path/e404.html # /path/e404.html is the 404 (not found) error page
   * I:index.html      # Show index.html when a directory is requested
  代理地址转换 * P:/url:[http://]hostname[:port]/new/path
   # When /urlXXXXXX is requested, reverse proxy it to http://hostname[:port]/new/pathXXXXXX
  目录权限控制      
   * /cgi-bin:foo:bar  # Require user foo, pwd bar on urls starting with /cgi-bin/
    server: Http头域中包含"WWW-Authenticate: Basic realm=\".\"\r\n"  // 客户端会弹出window链接到IP对话框要求输入用户名密码
    client: Authorization: Basic YWFhOmJiYg==\r\n  // 输入用户名和密码后,以加密形式送出
    httpd 中的权限表: 是按照URL长度从大到小排列的!所以查找时按照最近匹配原则。
  文件的执行程序
   * .au:audio/basic   # additional mime type for audio.au files
   * *.PHP:/path/php   # run xxx.php through an interpreter




/*
* httpd implementation for busybox
*
* Copyright (C) 2002,2003 Glenn Engel 
* Copyright (C) 2003 Vladimir Oleynik 
*
* simplify patch stolen from libbb without using strdup
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*****************************************************************************
*
* Typical usage:
* for non root user
* httpd -p 8080 -h $HOME/public_html
* or for daemon start from rc script with uid=0:
* httpd -u www
* This is equivalent if www user have uid=80 to
* httpd -p 80 -u 80 -h /www -c /etc/httpd.conf -r "Web Server Authentication"
*
*
* When a url contains "cgi-bin" it is assumed to be a cgi script. The
* server changes directory to the location of the script and executes it
* after setting QUERY_STRING and other environment variables. If url args
* are included in the url or as a post, the args are placed into decoded
* environment variables. e.g. /cgi-bin/setup?foo=Hello%20World will set
* the $CGI_foo environment variable to "Hello World" while
* CONFIG_FEATURE_HTTPD_SET_CGI_VARS_TO_ENV enabled.
*
* The server can also be invoked as a url arg decoder and html text encoder
* as follows:
* foo=`httpd -d $foo` # decode "Hello%20World" as "Hello World"
* bar=`httpd -e ""` # encode as "<Hello World>"
* Note that url encoding for arguments is not the same as html encoding for
* presenation. -d decodes a url-encoded argument while -e encodes in html
* for page display.
*
* httpd.conf has the following format:

* A:172.20. # Allow any address that begins with 172.20
* A:10.10. # Allow any address that begins with 10.10.
* A:10.20 # Allow any address that previous set and 10.200-209.X.X
* A:127.0.0.1 # Allow local loopback connections
* D:* # Deny from other IP connections
* /cgi-bin:foo:bar # Require user foo, pwd bar on urls starting with /cgi-bin/
* /adm:admin:setup # Require user admin, pwd setup on urls starting with /adm/
* /adm:toor:PaSsWd # or user toor, pwd PaSsWd on urls starting with /adm/
* .au:audio/basic # additional mime type for audio.au files

* A/D may be as a/d or allow/deny - first char case unsensitive
* Deny IP rules take precedence over allow rules.


* The Deny/Allow IP logic:

* - Default is to allow all. No addresses are denied unless
* denied with a D: rule.
* - Order of Deny/Allow rules is significant
* - Deny rules take precedence over allow rules.
* - If a deny all rule (D:*) is used it acts as a catch-all for unmatched
* addresses.
* - Specification of Allow all (A:*) is a no-op

* Example:
* 1. Allow only specified addresses
* A:172.20. # Allow any address that begins with 172.20
* A:10.10. # Allow any address that begins with 10.10.
* A:10.10 # Allow any address that previous set and 10.100-109.X.X
* A:127.0.0.1 # Allow local loopback connections
* D:* # Deny from other IP connections

* 2. Only deny specified addresses
* D:1.2.3. # deny from 1.2.3.0 - 1.2.3.255
* D:2.3.4. # deny from 2.3.4.0 - 2.3.4.255
* A:* # (optional line added for clarity)

* If a sub directory contains a config file it is parsed and merged with
* any existing settings as if it was appended to the original configuration
* except that all previous IP config rules are discarded.
*
* subdir paths are relative to the containing subdir and thus cannot
* affect the parent rules.
*
* Note that since the sub dir is parsed in the forked thread servicing the
* subdir http request, any merge is discarded when the process exits. As a
* result, the subdir settings only have a lifetime of a single request.
*

* If -c is not set, an attempt will be made to open the default 
* root configuration file. If -c is set and the file is not found, the
* server exits with an error.

*/
0 0
原创粉丝点击