Apache 服务器配置详解

Apache 服务器配置详解Apache 配置详解 Apahce 配置指令可以分为两大块 核心指令和第三方提供的指令 在 apache 中 每一个指令都对应着一个模块 而在所有模块中 最重要的就是 core module so module http module 以及 mpm 模块 他们除了 so moudle 以外的其他模块都不可以关掉或者禁止一 httpd conf 1 主服务器部分 1ServerNam

Apache 配置详解

Apahce 配置指令可以分为两大块,核心指令和第三方提供的指令。在apache中,每一个指令都对应着一个模块,而在所有模块中,最重要的就是core_module,so_module,http_module,以及mpm模块,他们除了so_
moudle以外的其他模块都不可以关掉或者禁止
一:httpd.conf
(1) 主服务器部分
1 ServerName: 定义apache默认主机名,可以是域名或者IP地址
2 ServerRoot: 用于定义服务器所在的目录,这个路径通常是在配置时候由–prefix来指定的
3 DocumentRoot: 用于指定apache提供页面服务的根目录,这个路径必须是绝对路径而不是相对路径,如果有空格还需要用引号括起来
4 ServerAdmin: 服务器出错后给管理员发邮件的地址
5 ServerAlias 和 Alias: 都用于映射目录,只是ServerAlias将映射的目录识别为CGI脚本目录,并将此目录所有文件都作为CGI脚本对待。但是Alias只是映射为一个普通的目录
6 User 和 Group: 用于定义用于运行apache 子进程的用户和用户组
7 Listen: 用来定义监听apache的端口号
8 LoadModule 指令:用于加载模块或者目标文件 LoadModule cgi_module modules/mod_cgi.so_module
9 ErrorDocument: 自义错误页面信息 ErrorDocument 500 “unknown error”  ErrorDocument 404  “/var/server/www/cgi-bin/missing_404.pl” ErrorDocument 402 http://www.nicky.com/error_402.html
10 options : 决定在哪些目录中使用那些特性,这些特性如下:
None: option 指令将不会起作用
ExecCGI: 允许当前目录下执行CGI脚本
Includes: 允许使用SSI功能
IncludesNOEXEC: 允许使用SSI功能,但是exec cgi and exec cmd 功能禁用
Indexes: 开起索引功能,比如一个请求到目录URLz中没有有DirectoryIndex 指令指定的索引文件,那么服务器会自动返回一个请求目录内容列表
FollowSymLinks: 允许在当前环境使用符号连接,但是在Location 容器中会被忽略
All: 使用除MultiViews之外的所有特性,也是options的默认参数
MultiViews: 用于启动mod_negotiations模块提供的多重视图功能
11 ServerTokens: OS/Major/Full 影响报错页脚信息的详细程度,一般不建议使用
(2) 容器部分
1

容器:容器作用于模块,他会首先判断模块是否载入,然后再决定是否进行处理,即只有当判断结果为真时,才会执行容器内的指令,相反如果为假,则会全部忽略,可以使用


或者

来判断模块是否载入




    DirctoryIndex index.html 




如果载入则执行



    DirctoryIndex index.html 




如果不载入则执行

2

容器:封装一组条件为真时才生效的指令,作用于 server config, virtual host, directory, .htaccess ,和IfModule区别在于,他是以模块是否加载作为判断,但是IfDefine是以条件为判断

依据



LoadModule proxy_module modules/libproxy.so



3


容器:

Directory: 让它封装的指令在它的指定的目录或者他的子目录起作用,这个目录必须是一个完整的路径,当然你也可以使用通配符* ?匹配目录,也考虑利用使用[]来确定字符范围,不过不论是哪一种都不能
匹配/



    Order Deny,Allow
Deny from all





上述例子禁止了对/var/apache/html目录的访问权限。任何请求到/var/apache/html都会被拒绝
如果希望目录使用正则表达式,那么需要在前面加一个~



    Order Deny,Allow
Allow from all




DirectoryMatch: 和Directory作用类似,只不过他可以直接接受正则匹配 而不需要加一个~符号



    Order Deny,Allow
Allow from all




4




Files: 只作用于文件,也可以使用通配符和[]以及在正则表达式前面~来使用正则表达式



    Order Deny,Allow
Allow from All




FilesMatch: Files 而不需要加一个~符号



Order Deny,Allow
Allow from All




5



: 只是对URL进行访问控制




Order Allow,Deny
Deny from All





如果以cgi开头URL则会被拒绝
另外还可以将URL 请求映射到Apache模块处理器上,例如使用mod_status模块:



SetHandler server-status




如果使用上面的配置。那么访问/server-status,apache会将连接交给mod_status模块处理,并返回一个Apache服务器运行状态页面

容器的处理顺序问题:
Apache 会优先处理Directory 容器(但是不会处理带有正则表达式的Directory和.htaccess,)接着处理Files 和 FilesMatch 容器,再接着就是处理Location 和LocationMatch容器




    Order deny,allow
    Allow from All







     Order allow,deny
Allow from All
Deny from www.jons.com






上述例子,由于Apache会先处理

容器,最后处理的

容器会覆盖之前Directory配置,因此对于www.json.com将是允许被用户访问的

如果容器相同则按照字典顺序由短到长来处理


























































































版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215691.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午1:39
下一篇 2026年3月18日 下午1:39


相关推荐

  • 流媒体:RTMP 协议完全解析

    流媒体:RTMP 协议完全解析转自 流媒体 RTMP 协议完全解析 知乎 zhihu com 背景 RTMP RealTimeMess 是由 Adobe 公司基于 FlashPlayer 播放器对应的音视频 flv 封装格式提出的一种 基于 TCP 的数据传输协议 本身具有稳定 兼容性强 高穿透的特点 常被应用于流媒体直播 点播等场景 常用于推推流方 主播 的稳定传输需求 一 RTMP 的传输 消息块 amp 消息封包传输 RTMP 协议为了维持稳定连续传递 避免单次传输数据量问题

    2026年3月18日
    2
  • JAVA类加载器_java三个类加载器

    JAVA类加载器_java三个类加载器1.类的加载过程 JVM将类加载过程分为三个步骤:装载(Load),链接(Link)和初始化(Initialize)链接又分为三个步骤,如下图所示:1)装载:查找并加载类的二进制数据;2)链接:验证:确保被加载类的正确性;准备:为类的静态变量分

    2022年8月11日
    12
  • Web 搜索工具

    Web 搜索工具

    2026年3月15日
    1
  • html5空格代码怎么写_html怎么添加空格

    html5空格代码怎么写_html怎么添加空格本篇文章为大家介绍的是HTML的空格代码的写法,“ ”代码的用法,还有几种空格方式的解释,都在文章中,现在开始往下看吧。首先,我们知道这HTML网页中插入多个空格间隔是需要特殊字符编码的。如果是直接敲入多个空格键的话,虽然看似代码中有了多个空格效果,但其实在浏览器中还是只有1个空格间隔位置的。接下来教大家如果输入html空格字符的话,多个空格字符是如何输入的?我们采用直接复制空格字符与DW软件输入空格字符的两种方法介绍:web前端全栈资料粉丝福利(面试题、视频、资料笔记、进阶路

    2022年4月19日
    365
  • 开学第一课装备升级!宝藏小学生学习机推荐,让孩子主动爱上学习

    开学第一课装备升级!宝藏小学生学习机推荐,让孩子主动爱上学习

    2026年3月14日
    2
  • pycharm多行代码同时注释、去除注释_pycharm取消注释快捷键

    pycharm多行代码同时注释、去除注释_pycharm取消注释快捷键单多行注释就一个组合键:选中+Ctrl+/

    2022年8月25日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号