前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Apache的httpd.conf文件配置详解

Apache的httpd.conf文件配置详解

作者头像
wangxl
发布于 2018-03-07 06:50:20
发布于 2018-03-07 06:50:20
2.7K0
举报
文章被收录于专栏:PHP在线PHP在线

Apache的基本设置主要交由httpd.conf来设定管理,我们要修改Apache的相关设定,主要还是通过修改httpd.cong来实现。下面让我们来看看httpd.conf的内容,它主要分成3大部分: Section 1:Global Environment Section 2:'Main' server configurationphpma.com Section 3:Virtual Hosts

【第一部分】

·ServerType standalone 这表示Apache是以standalone启动,也可以是inetd。所谓standalone是指启动一次来接听所有的连线;而inetd是接到http的连线要求才启动,随着连线的结束而结束,这样负担是不是很但呢?所以一般都是以standalone启动。 ·ServerRoot "/usr/local/httpd" 此为apache的目录 ·#LocdFile /use/local/httpd/logs/httpd.lock 保留预设值,不更动phpma.com ·PidFile /usr/local/httpd/logs/httpd.pid 此文件记录着apache的父处理程序id ·ScoreBoardFile /usr/local/httpd/logs/httpd.scoreboard 此文件存储处理程序的信息 ·#ResourceConfig conf/srm.conf ·#AccessConfig conf/access.conf 由于我们统筹由httpd.conf来管理,所以这两个文件预设是注解起来的,可以保留预设值不更动 ·Timeout 300 设盯超时的时间。如果用户端超过300秒还没连上server,或server超过300秒还没传送信息给用户端,即断线。 ·KeepAlive On 允许用户端的连线有多个请求,设为Off表示不允许 ·MaxKeepAliveRequests 100 每次连线最大的请求树木,数字愈大,效能愈好。0表示不限制 ·MinSpareServer 5 ·MaxSpareServers 10 MinSpareServer 5表示最少会有5个闲置的处理程序,如果实际的数目少于此数目,则会增加处理程序。MaxSpareServers 10表示最大的闲置处理程序数目,如果你的网站需求量很大,可以将此数目设大一些,大不要随便将此数目设得太大。 ·StartServers 5 启动时Server的数目 MaxClients 150 限制同时间最大的连线数目,当然不能设得太小,一旦达到此数目,就无法再增加用户端 ·MaxRequestPerChild 0 限制子处理程序结果前的要求数目,0表示不限制 ·#Listen 3000 ·#Listen 12.34.56.78:80 使用其它的连接端口或IP ·BindAddress * 可以接听*(所有IP地址)、指定的IP地址或是完整的域名 ·#LoadModule foo_module libexec/mod_foo.so 使用DSO模块 ·#ExtendedStatus On 可检阅apache的状态信息,预设是Off(注解起来)

如果之前的ServerType是inetd,请直接跳到ServerAdmin。 ·Port 80 Standalone服务器接听的连接端口,当然也可以是其他小于1023的端口号 ·User nobody ·Group nobody 执行httpd的用户和群组 ·ServerAdmin 管理员的电子邮件地址 这是管理员的电子邮件地址,如果apache有问题的话,会寄信通知管理员,当然你也可以建立一个专门负责web的帐号来收信 ·ServerName 你的主机名称 此为主机名称,如果没有域名,也可以用IP ·DocumentRoot "usr/local/httpd/htdocs" 此目录为apache放置网页的地方,里面的index.html即为连到此主机的预设首页 · Options FollowSymLinks AllowOverride nonephpma.com 此目录设定用户放置网页的目录(public_html)的执行动作。详细的目录存取方法会在后面说明 · Options Indexes FolloeSymLinks AllowOverride None Order allow,deny Allow from all 此目录设定apache的网页目录(htdocs)的执行动作 ·UserDir public_html 用户可在自己的目录下建立public_html目录来放置网页,输入http://主机地址/~用户名称即可连接到...劳撤胖玫牡胤?/a> ·DirectoryIndex index.html 这里设定预设主页的名称 ·AccessFileName .htaccess 这个是控制存取的文件名称,一般采用预设的.htaccess名称,后面会说明htaccess的使用方法 · Order allow,deny Deny from all 这 用来防止其他人看到.ht开头的文件内容,不仅是保护.htaccess的内容,还保护.htpasswd的内容。当然也可以直接写成。如果你有更改 AccessFilename,例如将.htaccess改成.accessht,请记得也要在此做相关的更改,如此才能防止其他人看到哦 ·#CacheNegotiatedDocs 注解起来是告诉Proxy不要将互动产生的文件存入cache,如果拿掉#,则会存在cache中 ·UseCanonicalName On 使用标准的名称,预设是On。假设有一个web server的全名是www.sample.com,一般称为www;如果us...羑ttp://www/abc ·TypeConfig /usr/local/httpd/conf/mime.types 指定存放MIME文件类型的文件。你可以自行编辑mime.types文件。 ·DefaultType text/plain 当server不认得此文件类型时的预设格式,此设定是当成一般文字 · MIMEMagicFile /usr/local/httpd/conf/magic mod_mime_magic模块可使server由文件内容决定其MIME类型。如果有载入mod_mime_magic模块,才会处理MIMEMagicFile这一段。如果是…,则表示如果没有载入该模块,才会处理这一段 ·HostLookups Off 如果为On,则每次都会向name server解析该IP,记录此连线的名称(例如www.apache.org)自换岷牟簧偈奔洌...为Off,仅记录IP ·ErrorLog /usr/local/httpd/logs/error_log 指定发生错误的记录文件(error_log)位置。如果在没有指定发生错误的记录文件,则会沿用此文件 ·LogLevel warn 记录分成很多等级,在此是warn。各等级如下: 等级 说明 debug debug信息 info 普通信息 notice 重要信息 warn 警告信息 error 发生错误 crit 紧急情况 alert 马上要处理的情况 amerg 系统快要死了 ·LogFormat "%h %l %u %t\"%r\"%>s %b\"{Referer}i\"\"${UserAgent}i\""combined LogFormat "%h %l %u %t"%r\"%>s %b"commom LogFormat "%{Referer}i->%U"referer LogFormat "%{User-agent}i"agent 自定四种记录格式:combined、common、referer、agent ·CustomLog /usr/local/httpd/logs/access_log common 存取的记录文件(access_log)使用自定的common格式 ·#CustomLog /usr/local/httpd/logs/referer_log referer #CustomLog /usr/local/httpd/logs/agent_log agent #CustomLog /usr/local/httpd/logs/agent_log combined 这三个记录文件也是使用自定义格式(分别是referer、agent、combined),不过注解起来表示未使用这三个文件 ·ServerSignature On 设为On时,在server所产生的网页(像是错误发生时)上,会有apache的版本、主机、连接端口的一行信息;如果设为Email,则会有mailto:给管理员的超链接 ·Alias /icons/ "/usr/local/httpd/icons/" 使用较短的别名,其格式为:Alias 别名 原名。 ·ScriptAlias /cgi-bin/ "/usr/local/httpd/cgi-bin/" 和Alias一样,只是这是设定server script的目录 ·IndexOptions FancyIndexing 显示好看的文件清单(配合下面各文件所对应的图形) ·AddIconByEncoding(CMP,/icons/compressed.gif)x-conpress x-gzip ·AddIcon /icons/blank.gif^^BLANKICON^^DefaultIcon/icons/unknow.gif 这些是在显示文件清单(之前所说的FancyIndex)时,各种文件类型的对应图形。例如.ps .si .eps这三种文件的表示图形都是a.gif ·#AddDescription "GZIP conpressed document" .gz #AddDescription "tar archive" .tar #AddDescription "GZIP compressed tar archive" .tgz 这些是在显示文件清单时,在文件后面附上说明,其格式为: AddDescription "说明" 文件名 例如:AddDescription "It is private txt" my.txt ·ReadmeName README 显示文件清单时,在最下面显示README的文件内容 设置CGI脚本/将httpd.conf做为唯一的配置文件/用户授权和访问控制等 关于Apache的配置及使用,在LinuxAid中已经有不少文章做了详细的阐述,本文讨论了在使用Apache时,有关配置文件的使用及对文件的访问控制等内容,算是对Apache的使用所做的一些补充吧!

如果您对Apache有一定的了解,特别是对几个配置文件有一定的了解,这将会有助于您对本文内容的理解;如果恰巧您不是很了解这几个配置文件的使用,那么就借着这个机会来一起熟悉一下吧。 一、关于CGI执行脚本的配置 这里有两种设置CGI脚本的方法。第一、CGI的脚本文件以.cgi为扩展名;第二、设置脚本可执行目录。但是这两种方法都需要将要执行的文件设置为711,才可以被执行。 第一种方法,我们需要在access.conf文件种将你要发行的目录设置为Option ExecCGI All,在srm.conf资源配置文件中,加上下列一句: AddHandle cgi-script .cgi 这样在所有的目录种只要你的文件是.cgi为扩展名的,且文件访问权限为711的,无论给文件在你发行目录的任何一个地方都可以做为CGI被Apache服务器调用。这种方法一般没有第二种方法安全。 第二种方法,是将一个目录作为一个可执行目录,将所有的cgi文件都放在其中,这里就不一定非得是以.cgi为扩展名得文件可以执行,而是只要有711属性的文件就可以被执行,而且其它的非可执行文件都被禁止访问。我们的默认配置文件种就有一个很好的例子:

access.conf: <Directory /home/httpd/cgi-bin/>phpma.com Allow Override None Options ExecCGI </Directory> srm.conf ScriptAlias /cgi-bin/ /home/httpd/cgi-bin/

这样只要在/home/httpd/cgi-bin/目录中的可执行文件都可以被Web服务器调用,而其它的非可执行文件将被拒绝访问。 二、配置用户的发行目录 这里有两种设置方法: 第一种是系统的默认方法,即用户目录下的public_html目录为用户的发行目录,且默认的主页文件为index.html,且该目录不支持CGI。 第 二种是在其它目录种专门为用户设置发布目录,如我想在/home/html目录做为用户的web目录,那管理员就应该在该目录下为每一个用户设置一个子目 录,如:/home/html/user01、/home/html/user02等。那么,你的srm.conf文件中的UserDir后面就不能再是 public_html了,应该改为:UserDir /home/htmlcgi-bin/> Allow Override None Options ExecCGI </Dirctory>

注意这里设置用户目录中的cgi-bin子目录为cgi执行目录,这是一种安全的设置,而且也是一种UNIX的习惯。 三、如何将Apache服务器设置为inetd的子服务 当 你安装了Apache后,默认设置为standalone方式运行,如果你想将它设置为inetd的子服务,首先在每次激活Linux时不激活 httpd,然后编辑/etc/inetd.conf,在其中加入下列语句:http stream tcp nowait root /usr/sbin/httpd httpd 然后重新激活inetd服务器。这样你用ps -aux命令查看进程运行情况时,你不会发现httpd的进程的存在,但是一旦有客户请求一个页面时,inetd就激活一个httpd进程为该请求服务, 之后就自动释放,这种运行方式有助于节省系统资源,但是如果你的web服务很重要,一般不建议设置为这种方式运行。 四、将httpd.conf做为唯一的配置文件 在 Apache中给用户提供了三个配置文件: srm.conf、 access.conf 和 httpd.conf files。实际上这三个文件是平等的,所有的配置都可以放在一个单独的httpd.conf文件中,事实上在Apache 1.3.2中就已经这样做了,在httpd.conf中应包括以下两条指令来防止Apache对srm.conf和access.conf两个配置文件的 访问: AccessConfig /dev/null ResourceConfig /dev/null 在apache1.3.2中只要注释掉以下这两行即可: AccessConfig conf/access.conf ResourceConfig conf/srm.conf 五、用户授权和访问控制 你也许在访问某些网站时会遇到过这样的情况,当你点击某个连接时,你的浏览器会弹出一个身份验证的对话框,要求输入账号及密码,如果没有,就无法继续浏览了。有人会以为这是用CGI做出来的,其实不然,这是WWW服务器的用户授权和访问控制机制在发挥作用。 你 是否还记得在设置Apache服务环境的过程中,有<Directory>……..<./Directory>这个指令,可以对 不同的目录提供不同的保护。但是这样的设定,需要重新启动服务器才会生效,灵活性较差,通过AccessFile指令指定访问控制文件的方式则比较灵活, 在Apache服务器中设置用户的访问控制权限步骤如下: 1、首先对httpd.conf文件进行设置如下: <Directory /home/httpd/html>phpma.com # AllowOverride FileInfo AuthConfig Limit # Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Options Includes FollowSymLinks Indexes AllowOverride All /public_html> AllowOverride FileInfo Indexes IncludesNOEXEC </Directory> 5、防止用户访问指定的文件 系统中有一些文件是不适宜提供给WWW用户的,如:.htaccess、htpasswd、*.pl等,可以用<Files>达到这个目的: <Files .htaccess> order allow,deny deny from all </Files> 用户访问控制三个.htaccess文件、.htpasswd和.htgroup(用于用户授权),为了安全起见,应该防止用户浏览其中内容,可以在httpd.conf中加入以下内容阻止用户对其进行访问: <Files ~”/.ht”> Order deny, allow Deny from all </Files> 这样这三个文件就不会被用户访问了。 6、限制某些用户访问特定文件 <Directory>可以对目录进行约束,要限制某些用户对某个特定文件的访问可以使用<Location>,比如:不允许非domain.com域内的用户对/prices/internal.html进行访问,可以用如下的设置: <Location /prices/internal.html> order deny,allow deny from all allow from .domain.com </Location> 如果你要授于相应权限的机器没有公开的域名,请在你的/etc/hosts文件中,将其IP地址映射到某个指定的名称,然后在Location中对其进行设置,否则该选项是不起作用的。 7、只接受来自特定链接的访问 例 如,只让所有来自 http://www.sina.com.cn/* 的链接的用户进入此目录,由其它链接来的访客都不得进入; " * "表示此网站底下所有的链接。其中的 http://www.sina.com.cn/* 也可以是:http://202.106.184.200/* 或是指定文件 http://www.sina.com.cn/news.html .htaccess文件的内容如下: AuthUserFile /dev/null AuthGroupFile /dev/null AuthName ExampleAllowFromSpecificURL AuthType Basic <Limit GET> order deny,allow deny from all referer allow from http://www.sina.com.cn/* </Limit> 六、如何通过Apache访问挂接到mnt中的目录内容 在Linux下,要浏览光盘的内容,必须要先将光盘挂接到/mnt/cdrom上,在Linux下访问dos或其它分区也一样,都要将其先挂接到/mnt下。下面提供的方法,可以通过Apache显示上挂的目录内容: 1、 先将需要挂接的内容挂接到mnt下,如: mount –t iso9660 /dev/cdrom /mnt/cdrom 2、修改/usr/local/etc/httpd/conf中的srm.conf文件(在Apache1.3.2中修改httpd.conf) 加入别名支持: # Alias fakename realname # alias for netware server // Alias /netware/ /mnt/MYDOM_NW/vol1/home/htmldocs/ Alias /winNT/ /mnt/MYDOM_NT/ Alias /unix/ /mnt/MYDOM_UNIX 其实这一步还有个最简单的方法就是直接在WWW文件目录下建立链接目录,比如: ln –s /mnt/MYDOM_NT/ winNT 也能达到同样的效果。 3、最后,用Directory 分别指定用户对上面这几个目录的访问权限: <Direcory “/mnt/MYDOM_NT”> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> 注意, Options中的Indexes一定要注明,否则被打开的目录中若没有Index.html文件,用户无法浏览整个目录的结构,服务器会返回错误指示。 这些工作都完成后,别忘了重新启动Apache。在客户端通过 http://www.yourdomain/CDROM/访问光盘内容,其余系统以此类推

#DocumentRoot "/usr/local/apache/htdocs" #设置存放站点html文件的目录。 <Directory /> Options FollowSymLinks AllowOverride None </Directory> #设置/目录的指令。具体地说明: Option:定义在目录内所能执行的操作。 None:表示只能浏览, FollowSymLinks:允许页面连接到别处, ExecCGI:允许执行CGI, MultiViews:允许看动画或是听音乐之类的操作, Indexes:允许服务器返回目录的格式化列表, Includes:允许使用SSI。这些设置可以复选。 All:则可以做任何事,但不包括MultiViews。 AllowOverride:加None参数表示任何人都可以浏览该目录下的文件。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2014-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 php 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Apache主配置文件httpd.conf 详解《转载》
Apache的主配置文件:/etc/httpd/conf/httpd.conf 默认站点主目录:/var/www/html/ Apache服务器的配置信息全部存储在主配置文件/etc/httpd/conf/httpd.conf中,这个文件中的内容非常多,用wc命令统计一共有1009行,其中大部分是以#开头的注释行。 [[email protected] ~]# wc -l /etc/httpd/conf/httpd.conf 1009 /etc/httpd/conf/httpd.conf 配置文件
老七Linux
2018/05/09
1.9K0
Apache主配置文件httpd.conf 详解
Apache的主配置文件:/etc/httpd/conf/httpd.conf 默认站点主目录:/var/www/html/ Apache服务器的配置信息全部存储在主配置文件/etc/httpd/conf/httpd.conf中,这个文件中的内容非常多,用wc命令统计一共有1009行,其中大部分是以#开头的注释行。 [root@justin ~]# wc -l /etc/httpd/conf/httpd.conf 1009 /etc/httpd/conf/httpd.conf [root@justin ~]#
botkenni
2019/09/03
5.5K0
Apache主配置文件httpd.conf 详解
Windows下Apache的配置文件httpd.conf
apache的配置文件一直看得我云里雾里的,今天好好把配置文件研究了一下,还是有点收获的。 看httpd.conf的内容,它主要分成3大部分:
老高的技术博客
2022/12/27
1.5K0
Apache配置详解(最好的APACHE配置教程)
Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。
全栈程序员站长
2022/09/14
8.6K0
Linux CentOS7 httpd 服务配置注释
Apache 配置注释 如果没看懂可以去看看官方发布的文档 apache官方文档 conf/httpd.conf ServerRoot "/etc/httpd" # 指定服务配置根目录 Listen 80 # 监听端口 Include conf.modules.d/*.conf # 包含模块配置文件 User apache # 使用的用户进程
星哥玩云
2022/07/28
9770
ubuntu apache2配置详解(含虚拟主机配置方法)[通俗易懂]
在Windows下,Apache的配置文件通常只有一个,就是httpd.conf。但我在Ubuntu Linux上用apt-get install apache2命令安装了Apache2后,竟然发现它的httpd.conf(位于/etc/apache2目录)是空的!进而发现Ubuntu的 Apache软件包的配置文件并不像Windows的那样简单,它把各个设置项分在了不同的配置文件中,看起来复杂,但仔细想想设计得确实很合理。
全栈程序员站长
2022/09/07
4.8K0
Apache Httpd服务器之基础教程
Httpd服务器是Apache产品线下的一款web服务器,常与PHP或Python等CGI脚本一起配合使用,为用户提供动态Web服务。httpd,从名字就可以看出,它提供的主要是基于http协议的Web服务。本篇为介绍Httpd服务器的第一篇,主要介绍下Httpd服务器的安装,运行模式,容器配置,以及CGI的配置,目的是使大家能通过阅读此篇文章来从零建立起一个可运行的Web服务器。
星哥玩云
2022/07/04
1.1K0
Apache 默认网站
每一个web服务器软件一般默认都会提供一个用于测试的网站,apache也为用户提供了一个默认网站。默认网站的配置写在默认配置文件中。
星哥玩云
2022/09/15
1.5K0
部署Apache网站服务以及访问控制的实现
创建yum仓库的步骤详细步骤请参考 Linux下通过rdesktop远程登陆Windows系统
星哥玩云
2022/07/25
7530
部署Apache网站服务以及访问控制的实现
CentOS6下使用Apache部署HTTP服务
Apache--目前用于实现http服务的软件有许多,包括主流的Apache、Nginx,还有微软的IIS等,这篇文章只介绍Apache实现的各种功能的http服务,通过Apache的功能说明配置文件中每个指令的具体含义和用法。
星哥玩云
2022/07/13
1.4K0
CentOS6下使用Apache部署HTTP服务
Apache 配置与应用
Apache HTTP Server 之所以受到众多企业的青睐,得益于其源代码开源,跨平台、功能模块化、可灵活定制等优点,其不仅性能稳定,在安全性方面的表现也十分出色。
全栈程序员站长
2022/09/14
5130
Apache 配置与应用
HTTPD
Apache HTTP Server(简称Apache或httpd)是Apache软件基金会的一个开放源代码的网页服务器软件,旨在为unix,windows等操作系统中提供开源httpd服务。由于其安全性、高效性及可扩展性,被广泛使用,自1996年4月以来,Apache一直是Internet上最流行的HTTP服务器。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器等编译到httpd的相关模块中。
一滴水的眼泪
2020/09/21
1.9K0
HTTPD
Apache配置与应用
4、修改自动生成的awstats访问权限,加载CGI模块(Apache2.4以上版本需要加载CGI模块)
全栈程序员站长
2022/09/06
5790
Apache配置与应用
Linux下配置Apache httpd
httpd是Apache超文本传输协议(HTTP)服务器的主程序。它被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池对外提供服务。httpd支持基于 虚拟主机,以及基于HOST、IP、PORT实现虚拟主机,反向代理,负载均衡,路径别名,用户认证,basic,支持第三方模块等众多特性。本文主要描述了Linux下httpd(2.2版本)的相关基本配置。 1、配置文件概述 配置文件,主要分为3个部分: # grep "Section" /etc/httpd/conf/h
Leshami
2018/08/13
2.5K0
【Web开发】使用Apache搭建Http下载服务器
前段时间因为某些原因,几大主流网盘都无法使用,正好手头上有台闲置的云服务器,于是就想来搭建一个文件下载服务,用户只需通过一个链接就能下载软件。
zstar
2022/11/12
3.5K0
【Web开发】使用Apache搭建Http下载服务器
Linux 系统Apache配置SSL证书
在Centos7系列系统下,配置Apache服务器,给服务器增加SSL证书功能,让页面访问是不再提示不安全,具体操作流程如下。
王 瑞
2022/12/28
3.2K0
linux下Apache服务器使用入门----httpd.conf
如果安装centos,系统本身已经安装了apache,名字为httpd这个服务就是对应的apache service httpd start service httpd stop service httpd restart 下面介绍一下apache的几个重要的配置文件 1 httpd.conf 这个文件在/etc/httpd/conf目录下,文件大致分为三个部分: 主服务器部分 这个部分主要是使用一些参数定义服务器的功能等等。 ### Section 1: Global Environment Se
用户1154259
2018/01/17
2.2K0
Apache常用目录详解、配置文件详解及优化、配置文件权限详解
1) /etc/httpd/conf/httpd.conf (Apache的主配文件)
用户8449980
2021/07/12
5.8K0
Apache Web服务器安全配置全攻略[通俗易懂]
作为最流行的Web服务器,Apache Server提供了较好的安全特性,使其能够应对可能的安全威胁和信息泄漏。 Apache 服务器的安全特性   1、 采用选择性访问控制和强制性访问控制的安全策略   从Apache 或Web的角度来讲,选择性访问控制DAC(Discretionary Access Control)仍是基于用户名和密码的,强制性访问控制MAC(Mandatory Access Control)则是依据发出请求的客户端的IP地址或所在的域号来进行界定的。对于DAC方式,如输入错误,那么用户还有机会更正,从新输入正确的的密码;如果用户通过不了MAC关卡,那么用户将被禁止做进一步的操作,除非服务器作出安全策略调整,否则用户的任何努力都将无济于事。   2、Apache 的安全模块   Apache 的一个优势便是其灵活的模块结构,其设计思想也是围绕模块(Modules)概念而展开的。安全模块是Apache Server中的极其重要的组成部分。这些安全模块负责提供Apache Server的访问控制和认证、授权等一系列至关重要的安全服务。   mod_access模块能够根据访问者的IP地址(或域名,主机名等)来控制对Apache服务器的访问,称之为基于主机的访问控制。   mod_auth模块用来控制用户和组的认证授权(Authentication)。用户名和口令存于纯文本文件中。mod_auth_db和mod_auth_dbm模块则分别将用户信息(如名称、组属和口令等)存于Berkeley-DB及DBM型的小型数据库中,便于管理及提高应用效率。   mod_auth_digest模块则采用MD5数字签名的方式来进行用户的认证,但它相应的需要客户端的支持。   mod_auth_anon模块的功能和mod_auth的功能类似,只是它允许匿名登录,将用户输入的E-mail地址作为口令。   SSL(Secure Socket Lager),被Apache所支持的安全套接字层协议,提供Internet上安全交易服务,如电子商务中的一项安全措施。通过对通讯字节流的加密来防止敏感信息的泄漏。但是,Apache的这种支持是建立在对Apache的API扩展来实现的,相当于一个外部模块,通过与第三方程序的结合提供安全的网上交易支持。 Apache服务器的安全配置   Apache具有灵活的设置,所有Apache的安全特性都要经过周密的设计与规划,进行认真地配置才能够实现。Apache服务器的安全配置包括很多层面,有运行环境、认证与授权设置等。Apache的安装配置和运行示例如下:   1、以Nobody用户运行   一般情况下,Apache是由Root 来安装和运行的。如果Apache Server进程具有Root用户特权,那么它将给系统的安全构成很大的威胁,应确保Apache Server进程以最可能低的权限用户来运行。通过修改httpd.conf文件中的下列选项,以Nobody用户运行Apache 达到相对安全的目的。   User nobody   Group# -1   2、ServerRoot目录的权限   为了确保所有的配置是适当的和安全的,需要严格控制Apache 主目录的访问权限,使非超级用户不能修改该目录中的内容。Apache 的主目录对应于Apache Server配置文件httpd.conf的Server Root控制项中,应为:   Server Root /usr/local/apache   3、SSI的配置   在配置文件access.conf 或httpd.conf中的确Options指令处加入Includes NO EXEC选项,用以禁用Apache Server 中的执行功能。避免用户直接执行Apache 服务器中的执行程序,而造成服务器系统的公开化。   Options Includes Noexec   4、阻止用户修改系统设置   在Apache 服务器的配置文件中进行以下的设置,阻止用户建立、修改 .htaccess文件,防止用户超越能定义的系统安全特性。   AllowOveride None   Options None   Allow from all   然后再分别对特定的目录进行适当的配置。   5、改变Apache 服务器的确省访问特性   Apache 的默认设置只能保障一定程度的安全,如果服务器能够通过正常的映射规则找到文件,那么客户端便会获取该文件,如 http://loc
全栈程序员站长
2022/11/17
1.7K0
HTTPD 基础篇
# echo "192.168.1.128 t1.zhimajihua.cn t2.zhimajihua.cn" >> /etc/hosts
用户1456517
2019/03/05
8140
HTTPD 基础篇
相关推荐
Apache主配置文件httpd.conf 详解《转载》
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档