HTTP基本配置

  1. 共享用户的 Home目录。

    个人感觉这个功能应该用的不多,不过还是记录一下,万一哪天用到了呢。共享用户Home目录需要使用到一个叫做mod_userdir.so的模块,通常情况下此模块已经加载,可以在/etc/httpd/conf.modules.d/目录下的配置文件中进行查看,如果没有此模块,需要先加载。也可以通过httpd -M | grep userdir来搜索是否加载了此模块。

​ 配置的过程很简单,在/etc/httpd/conf.d/目录下有个叫做userdir.conf的配置文件,其中默认已经包含了关于共享用户home目录的配置,内容如下:

<IfModule mod_userdir.c>
	UserDir disabled
	#UserDir public_html
</IfModule>

把UserDir disabled注释掉,然后把下一行的注释去掉就完成了配置过程。然后就是在用户的目录下创建对应的文件夹了。文件夹的名称默认设定为public_html,也可以自定义,不过要和配置文件中的相对应。不过,只有这些还是不够的,还需要给Apache访问对应用户home目录的权限,通常可以使用ACL权限,设定如下:

setfacl -m uapache:x ~user_name

以上就足够了。访问的时候注意,路径和我们平时访问使用的并不太一样,如以上示例,访问路径应该为

http://host/~user_name

注:如果提示403,检查主配置文件中是否对/目录设定了访问拒绝的权限。

  1. status页面

    ​ 此功能基于status_module 模块,默认并没有加载,所以需要手动在配置文件中加载此模块,然后在配置文件中设定以个访问控制即可。配置内容如下:

    LoadModule status_module modules/mod_status.so
    <Location /server-status>
    	SetHandler server-status
    	Order allow,deny
    	Allow from 172.16
    </Location>

    ​ 重启服务之后访问以下地址就可以看到服务器的运行信息了:

    http://host/server-status

    注意:一旦启用此功能务必注意控制权限,因为状态信息包含了服务器的运行状态信息,泄漏之后有很大的风险。

  2. ServerSignature

    此选项定义的是当访问错误的时候返回的错误信息是否包含具体信息。通常建议将此项设定为off,否则可能会暴露服务器的名称以及软件版本信息,造成安全风险。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!