Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Apache2.4 + htaccess + geoip (Решено)  (Прочитано 1478 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн SashkaDotCom

  • Автор темы
  • Любитель
  • *
  • Сообщений: 61
    • Просмотр профиля
Apache2.4 + htaccess + geoip (Решено)
« : 12 Мая 2022, 19:48:42 »
Всем привет, не могу понять по сабжу.
добавляю в .htaccess

GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
SetEnvIf GEOIP_COUNTRY_CODE RU AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE BY AllowCountry
Deny from all
Allow from env=AllowCountry

Так же блокирует вообще под чистую блочит всё. Не важно из РФ или еще откуда. Из лога апача /var/www/html/.htaccess: GeoIPDBFile not allowed here

Ошибка 500: The server encountered an internal error or misconfiguration and was unable to complete your request

« Последнее редактирование: 16 Мая 2022, 11:53:35 от SashkaDotCom »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Apache2.4 + htaccess + geoip
« Ответ #1 : 12 Мая 2022, 22:19:08 »
1. GeoIP в принципе не самый надёжный способ.
2. Забудьте уже про .htaccess. И читайте документацию.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн SashkaDotCom

  • Автор темы
  • Любитель
  • *
  • Сообщений: 61
    • Просмотр профиля
Re: Apache2.4 + htaccess + geoip
« Ответ #2 : 12 Мая 2022, 23:01:50 »
1. GeoIP в принципе не самый надёжный способ.
2. Забудьте уже про .htaccess. И читайте документацию.

а чем плох .htaccess ?

сейчас в нем прописал все сети из РФ, пока так работает, но хочется элегантности

Пользователь добавил сообщение 13 Мая 2022, 14:23:57:
1. GeoIP в принципе не самый надёжный способ.
2. Забудьте уже про .htaccess. И читайте документацию.

Попробовал такой вариант:

/etc/apache2/conf-enabled/ttm.conf

Alias /ttm /usr/share/www
<Directory /usr/share/www>
  Options -Indexes +FollowSymLinks
<IfModule mod_authz_core.c>
       # Apache 2.4
       Require all granted
    </IfModule>
<IfModule mod_dir.c>
    DirectoryIndex index.php
  </IfModule>
<IfModule mod_geoip.c>
    GeoIPEnable On
    GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
    GeoIPDBFile /usr/share/GeoIP/GeoIPv6.dat
    SetEnvIf GEOIP_COUNTRY_CODE RU AllowCountry
    Deny from all
    Allow from env=AllowCountry
</IfModule>
</Directory>

apachectl configtest

AH00526: Syntax error on line 33 of /etc/apache2/conf-enabled/ttm.conf:

GeoIPDBFile not allowed in <Directory> context

Action 'configtest' failed.

The Apache error log may have more information.

Стоит только за комментировать GeoIPDBFile и ошибки нет.

Пользователь добавил сообщение 13 Мая 2022, 15:01:38:
А так же попробовал так в файле .htaccess

GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
GeoIPDBFile /usr/share/GeoIP/GeoIPv6.dat
SetEnvIf GEOIP_COUNTRY_CODE RU AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE BY AllowCountry
<Directory /var/www/html>
    Deny from all
</Directory>
<Directory /var/www/html>
    Allow from env=AllowCountry
</Directory>

вызывает ошибку 500

Пользователь добавил сообщение 13 Мая 2022, 16:11:28:
Согласно всем изменениям в 2.4

GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
GeoIPDBFile /usr/share/GeoIP/GeoIPv6.dat
SetEnvIf GEOIP_COUNTRY_CODE RU AllowCountry
<RequireAny>
  <RequireAll>
    Require all denied
    Require env AllowCountry
    Require all granted
  </RequireAll>
</RequireAny>

в логах - /var/www/html/.htaccess: GeoIPDBFile not allowed here
« Последнее редактирование: 13 Мая 2022, 16:27:42 от SashkaDotCom »

Оффлайн SashkaDotCom

  • Автор темы
  • Любитель
  • *
  • Сообщений: 61
    • Просмотр профиля
Re: Apache2.4 + htaccess + geoip
« Ответ #3 : 16 Мая 2022, 11:51:22 »
Рабочий вариант конфига для htaccess

GeoIPEnable On
SetEnvIf GEOIP_COUNTRY_CODE RU AllowCountry
<RequireAny>
  <RequireAll>
    Require all denied
  </RequireAll>
 </RequireAny>
<RequireAny>
  <RequireAll>
    Require env AllowCountry
    Require all granted
  </RequireAll>
</RequireAny>

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Apache2.4 + htaccess + geoip (Решено)
« Ответ #4 : 16 Мая 2022, 18:21:56 »
а чем плох .htaccess ?
Тем, что он есть.
https://nystudio107.com/blog/stop-using-htaccess-files-no-really

Пользователь добавил сообщение 16 Мая 2022, 18:25:38:
GeoIPDBFile not allowed in <Directory> context
Тебе даже разжевали, в чём проблема!
https://httpd.apache.org/docs/2.4/mod/directive-dict.html#Context
« Последнее редактирование: 16 Мая 2022, 18:25:38 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.047 секунд. Запросов: 25.