使用 htaccess 保护 awstats

使用 htaccess 保护 awstats

我正在尝试配置 awstats,使我拥有一个未经身份验证的站点和另一个经过身份验证的站点。更具体地说是
domain/awstats/awstats.pl?config=X 不应该经过身份验证的
域/awstats/awstats.pl?config= 应该已认证

经过大量搜索后我还没有找到任何解决方案,因为这与查询字符串有关。

答案1

我首先想到的方法是:首先设置awstats一个只监听本地主机的虚拟主机...

<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>

这些都是即兴的,因此完全有可能存在一些错误,但基本思想是正确的。

相关内容