天天看点

Apache httpd 2.4 访问控制

Apache访问控制可以由几个不同的模块完成。其中最重要的是mod_authz_core和mod_authz_host。Apache使用Require指令进行授权来确保用户被允许或拒绝访问资源。其中mod_authz_host模块可以使用ip,host,forward-dns和local扩展授权类型。其他授权类型也可以使用,但可能需要加载额外的授权模块。这些授权提供程序会影响哪些主机可以访问服务器的某个区域。访问可以通过主机名,IP地址或IP地址范围进行控制。

Require all granted

  允许所有

Require all denied

  拒绝所有

Require env env-var [env-var] …

  只有在给定的环境变量被设置的情况下才允许访问

Require method http-method [http-method] …

  允许特定的HTTP方法(GET/POST/HEAD/OPTIONS)

Require expr expression

  允许特定表达式为true时

Require user userid [userid] …

  允许特定用户

Require group group-name [group-name] …

  允许特定用户组

Require valid-user

  允许有效的用户

Require ip 10 172.20 192.168.2

  允许特定IP或IP段,多个IP或IP段间使用空格分隔

单个或多个IP

  Require ip 10.1.2.3

  Require ip 192.168.1.104 192.168.1.205

基于部分IP地址的访问控制

  Require ip 10.1

  Require ip 10 172.20 192.168.2

基于网络/子网掩码的访问控制

  Require ip 10.1.0.0/255.255.0.0

  Require ip 10.1.0.0/16

基于IPv6的访问控制

  Require ip 2001:db8::a00:20ff:fea7:ccea

  Require ip 2001:db8:1:1::a #Author : Leshami

  Require ip 2001:db8:3::/48

基于主机名的访问控制

  Require host example.org

  Require host .net example.edu

基于forward-dns方式的访问控制

  forward-dns允许根据简单的主机名来访问服务器。 当指定require forward-dns host-name时,所有与主机名对应的IP地址都被允许访问。该方法不依赖于反向DNS查询:它仅查询DNS的主机名,并允许客户端的IP匹配。 因此,它只适用于主机名,而不是域名。 但是,由于不使用反向DNS,它将与使用动态DNS服务的客户端协同工作。

  Require forward-dns bla.example.org

  能够被bla.example.org解析的IP地址将被允许访问

仅允许本机访问

  Require local

<a href="https://httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require" target="_blank">https://httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require</a>

<a href="http://httpd.apache.org/docs/2.4/mod/mod_authz_core.html" target="_blank">http://httpd.apache.org/docs/2.4/mod/mod_authz_core.html</a>

Apache httpd 2.4 访问控制

继续阅读