Apache, mod_authz_host, неэффективное предложение "Разрешить из"

Я пытаюсь ограничить доступ к части моего веб-сайта только к определенной машине в локальной сети, используя mod_authz_host, https://httpd.apache.org/docs/2.4/mod/mod_authz_host.html

Мой конфиг выглядит так:

<LocationMatch "/export.*">
  Order allow,deny
  Allow from 192.168.1.207
</LocationMatch>

где 192.168.1.207 это IP-адрес компьютера, к которому я хочу разрешить доступ.

Проблема в том, что доступ с машины по-прежнему запрещен.

В журнале доступ выглядит так:

fvs318gv2 - - [27/Mar/2018:15:42:28 +0200] "GET /export/ HTTP/1.1" 403 209

РЕДАКТИРОВАТЬ: Соответствующий формат журнала используется: "%h %l %u %t \"%r\" %>s %b"

что заставляет меня задуматься, что fvs318gv2 значит, это даже не похоже на IP-адрес? Очевидно, что Apache не видит, что машина поступает со своего IP-адреса, в чем может быть проблема?

Если я сделаю ipconfig /all на этой машине я получаю:

Windows IP Configuration

   Host Name . . . . . . . . . . . . : ****
   Primary Dns Suffix  . . . . . . . : 
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter PýipojenĄ k mĄstnĄ sĄti:

   Connection-specific DNS Suffix  . : 
   Description . . . . . . . . . . . : Realtek PCIe GBE Family Controller
   Physical Address. . . . . . . . . : EC-A8-6B-81-87-60
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::c4be:bf88:60e3:f97b%7(Preferred) 
   IPv4 Address. . . . . . . . . . . : 192.168.1.207(Preferred) 
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : pondŘlĄ 26. býezna 2018 16:10:21
   Lease Expires . . . . . . . . . . : stýeda 28. býezna 2018 10:49:43
   Default Gateway . . . . . . . . . : 192.168.1.2
   DHCP Server . . . . . . . . . . . : 192.168.1.2
   DHCPv6 IAID . . . . . . . . . . . : 250390635
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-17-4B-5D-B6-EC-A8-6B-81-87-60
   DNS Servers . . . . . . . . . . . : 192.168.1.2
   NetBIOS over Tcpip. . . . . . . . : Enabled

Wireless LAN adapter Wi-Fi:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : 
   Description . . . . . . . . . . . : Belkin Wireless Adapter
   Physical Address. . . . . . . . . : EC-1A-59-D8-1F-18
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes

Wireless LAN adapter PýipojenĄ k mĄstnĄ sĄti* 3:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : 
   Description . . . . . . . . . . . : Microsoft Wi-Fi Direct Virtual Adapter
   Physical Address. . . . . . . . . : EC-1A-59-D8-1F-18
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes

Wireless LAN adapter PýipojenĄ k mĄstnĄ sĄti* 12:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : 
   Description . . . . . . . . . . . : Microsoft Hosted Network Virtual Adapter
   Physical Address. . . . . . . . . : EC-1A-59-D8-1F-18
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes

Tunnel adapter Teredo Tunneling Pseudo-Interface:

   Connection-specific DNS Suffix  . : 
   Description . . . . . . . . . . . : Teredo Tunneling Pseudo-Interface
   Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   IPv6 Address. . . . . . . . . . . : 2001:0:9d38:6ab8:850:262d:2a57:4513(Preferred) 
   Link-local IPv6 Address . . . . . : fe80::850:262d:2a57:4513%3(Preferred) 
   Default Gateway . . . . . . . . . : ::
   DHCPv6 IAID . . . . . . . . . . . : 167772160
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-17-4B-5D-B6-EC-A8-6B-81-87-60
   NetBIOS over Tcpip. . . . . . . . : Disabled

2 ответа

Прекратите использовать директивы 2.2, пожалуйста:

<Location /export>
  Require ip 192.168.1.207
</Location>

Примечание: я также изменил ваше местоположение для менее сложного метода без регулярных выражений, так как вы, похоже, запрашиваете /export/kkk

Как ответил другой автор, apache-2.4 использует другие директивы для изменения требований.

См . https://httpd.apache.org/docs/2.4/mod/mod_authz_host.html .

Что касается самого IP-фильтра, вам придется дважды проверить, с какого IP вы на самом деле .

Взгляните на https://httpd.apache.org/docs/2.4/mod/mod_log_config.html . Используемая вами строка LogFormat имеет%hэто имя хоста, которое Apache может искать по IP-адресу клиента.

Если вы добавите, вы также получите IP-адрес клиента. Гульника! См. примечание оmod_remoteip если вы используете эту директиву.

ОДНАКО, я подозреваю, что вы запускаете этот сервер Apache на том же хосте, с которого пытаетесь получить к нему доступ, может ли это быть так? Если это так, вы можете быть перенаправлены через localhost -> См.Require localв документации Apache.

Если это не так, возможно, вы маршрутизируетесь через IPv6, который имеет другой формат IP-адресов.mod_authz_hostтакже обрабатывает IPv6, примеры см. в документации.

ИзменениеLogFormatвключать%a вам поможет , пример:

      LogFormat "%h(%a) %l %u %t \"%r\" %>s %b"

ПС! Преобразование изapache-2.2кapache-2.4документировано в документации https://httpd.apache.org/docs/2.4/upgrading.html .

ПС!tcpdumpэто удобный инструмент, который можно иметь в своем наборе инструментов для решения любых проблем, связанных с сетью. ymmv.

Другие вопросы по тегам