在Linux系统中如何设置APACHE服务器里的后台页面只允许某个IP地址访问

在Linux系统中如何设置APACHE服务器里的后台页面只允许某个IP地址访问,第1张

说明: 控制哪些主机能够访问服务器的一个区域

语法: Allow from all|host|env=env-variable [host|env=env-variable]

上下文: 目录, htaccess

覆盖项: Limit

状态: Base

模块: mod_access

Allow指令影响哪些主机可以访问服务器的一个区域。可以用主机名、IP地址、 IP地址范围或者其他环境变量中捕获的客户端请求特性来对访问进行控制。

这个指令的第一个参数总是from。随后的参数可以有三种不同形式。 如果指定Allow from all,则允许所有主机访问,需要 Deny和Order指令像下面讨论的那样配置。 要只允许特定一部分主机或主机群访问服务器,host可以用下面任何一种格式来指定:

一个域名(部分)

例子:Allow from apacheorg

允许名字与给定字符串匹配或者以该字符串结尾的主机访问。 只有完整的名字组成部分才被匹配,因此上述例子将匹配fooapacheorg而不能匹配fooapacheorg。 这样的配置将引起服务器执行一个对客户IP地址的反查域名操作而不管HostnameLookups指令是否设置

完整的IP地址

例子:Allow from 10123

允许一个主机的一个IP地址访问。

部分IP地址

例子:Allow from 101

IP地址的开始1到3个字节,用于子网限制。

网络/掩码对

例子:Allow from 10100/25525500

一个网络abcd,和一个掩码wxyz。用于更精确的子网限制。

网络/nnn 无内别域间路由规格

例子:Allow from 10100/16

同前一种情况相似,除了掩码由nnn个高位字节构成。

注意以上后三个例子完全匹配同一组主机。

IPv6地址和IPv6子网可以像下面这样指定:

Allow from fe80::a00:20ff:fea7:ccea

Allow from fe80::a00:20ff:fea7:ccea/10

Allow指令的第三种参数格式允许对服务器的访问由 环境变量的一个扩展指定。指定 Allow from env=env-variable时,如果环境变量env-variable存在则访问请求被允许。 使用由mod_setenvif提供的指令,服务器用一种基于客户端请求的弹性方式提供了设置环境变量的能力。 因此,这条指令可以用于允许基于像User-Agent(浏览器类型)、Referer或者其他Http请求头字段 的访问。

例子:

SetEnvIf User-Agent ^KnockKnock/20 let_me_in

<Directory /docroot>

order Deny,Allow

Deny from all

Allow from env=let_me_in

</Directory>

这种情况下,发送以KnockKnock/20开头的用户代理标示的浏览器将被允许访问,而所有其他浏览器将被禁止访问。

Deny 指令

说明: 控制哪些主机被禁止访问服务器

语法: Deny from all|host|env=env-variable [host|env=env-variable]

上下文: 目录, htaccess

覆盖项: Limit

状态: Base

模块: mod_access

这条指令允许基于主机名、IP地址或者环境变量限制对服务器的访问。 Deny指令的参数设置和Allow指令完全相同。

order 指令

说明: 控制缺省的访问状态和Allow与Deny指令被评估的顺序。

语法: order ordering

默认值: order Deny,Allow

上下文: 目录, htaccess

覆盖项: Limit

状态: Base

模块: mod_access

order指令控制缺省的访问状态和 Allow与Deny指令被评估的顺序。 ordering是以下几种范例之一:

Deny,Allow

Deny指令在 Allow指令之前被评估。缺省允许所有访问。 任何不匹配Deny指令或者匹配 Allow指令的客户都被允许访问服务器。

Allow,Deny

Allow指令在 Deny指令之前被评估。缺省禁止所有访问。 任何不匹配Allow指令或者匹配 Deny指令的客户都将被禁止访问服务器。

Mutual-failure

只有出现在Allow列表并且不出现在 Deny列表中的主机才被允许访问。 这种顺序与Order Allow,Deny具有同样效果,不赞成使用,它包括了哪一种配置。

关键字只能用逗号分隔;它们之间不能有空格。注意在所有情况下每个Allow和Deny指令语句都将被评估。

在下面的例子中,apacheorg域中所有主机都允许访问,而其他任何主机访问都被拒绝。

order Deny,Allow

Deny from all

Allow from apacheorg

下面例子中,apacheorg域中所有主机,除了fooapacheorg子域包含的主机被拒绝访问以外,都允许访问。 而所有不在apacheorg域中的主机都不允许访问,因为缺省状态是拒绝对服务器的访问。

order Allow,Deny

Allow from apacheorg

Deny from fooapacheorg

另一方面,如果上个例子中的Order指令改变为Deny,Allow, 将允许所有主机的访问。这是因为,不管配置文件中指令的实际顺序如何, Allow from apacheorg指令会最后被评估到并覆盖之前的 Deny from fooapacheorg。所有不在apacheorg 域中的主机也允许访问是因为缺省状态被改变到了允许。

即使没有伴随Allow和Deny指令,一个Order 指令的存在也会影响到服务器上某一个部分的访问, 这是由于他对缺省访问状态的影响。例如,

<Directory /www>

order Allow,Deny

</Directory>

这样将会禁止所有对/www目录的访问,因为缺省状态将被设置为拒绝

order指令只在服务器配置的每个段内部控制访问指令的处理。 这暗示着,例如,一个在<Location>段出现的 Allow或者Deny指令总是将会在一个<Directory>段或者 htaccess文件中出现的 Allow或Deny 指令之后被评估,而不管Order指令中的设置为何。要了解配置段落合并的详细信息, 参看How Directory, Location and Files sections work相关文档。

在本机测试网站没有任何问题,就是上传到搭建好的服务器上就显示不出来验证码了。请专业人士给个提示,大概是服务器的哪一项功能没有开或是配置文件大概是哪里写错了;这个网站的验证码形式大概是先显示一张,然后是在上写数字;目前能显示,就是显示不到里面的数字和字母(查看服务器的GD库以开)

系统运维管理是许多公司在维护软件系统中非常重要的工作内容。今天,我们就一起来了解一下,在运维过程中都有哪些工具是需要我们掌握和使用的。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 在Linux系统中如何设置APACHE服务器里的后台页面只允许某个IP地址访问

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情