Назад | Перейти на главную страницу

защита awstats с помощью htaccess

Я пытаюсь настроить awstats таким образом, чтобы у меня был сайт, который не прошел аутентификацию, и другой сайт, который аутентифицирован. Более конкретно
домен / awstats / awstats.pl? config =Икс не должен быть аутентифицированным
домен / awstats / awstats.pl? config =Y должно быть аутентифицированный

после долгих поисков я не нашел никакого решения из-за того, что это связано со строкой запроса.

Вне всяких сомнений, вот один из способов, которым вы могли бы это сделать. Начните с добавления awstats на виртуальном хосте, который слушает только localhost ...

<VirtualHost 127.0.0.1:8080>
...
</VirtualHost>

Внутри этот виртуальный хост, включая RewriteRules которые переводят URL-адреса на основе пути в соответствующие строки запроса:

RewriteRule /awstats/config/(.*) /awstats/awstats.pl?config=$1

Имея это на месте, вы можете получить доступ:

/awstats/awstats.pl?config=X

С помощью:

/awstats/config/X

Но учтите, что на данный момент все это доступно только через localhost. Мы еще не установили внешнюю связь. Для этого мы собираемся поставить <Location> блоки в конфигурации вашего основного сервера, которые будут:

  • Внедрить необходимые средства контроля доступа
  • Запросы прокси к «внутреннему» виртуальному хосту

Как это:

<Location /awstats/config/X>
  ProxyPass http://localhost:8080/awstats/config/X
</Location>

<Location /awstats/config/Y>
  AuthType Basic
  AuthName "awstats X"
  AuthBasicProvider file
  AuthUserFile /path/to/htpasswd
  require valid-user

  ProxyPass http://localhost:8080/awstats/config/Y
</Location>

Это все нестандартно, поэтому вполне возможно, что здесь есть некоторые ошибки, но основная идея правильная.