基本上,我运行 VPS 并在其上托管我客户的网站。我已设置 mod_vhost_alias 以使用域作为客户用户帐户主文件夹,例如 /home/www.example.com。我也想使用 mod_cband 来限制每个域的带宽。我知道我可以为每个虚拟主机执行此操作,但我已使用 mod_vhost_alias 进行设置。这可能吗?
供您参考,这是我目前所得到的......
<VirtualHost *:80>
# Doesn't matter as long as it's fake rlly
ServerName bogusname
UseCanonicalName Off
VirtualDocumentRoot /home/%0/www
# Bandwidth stuff
CBandDefaultExceededURL http://clients.bradreed.co.uk/bandwidth_exceeded.html
CBandLimit 100G
# The following doesn't work
CBandScoreboard /var/www/scoreboard/%0
</VirtualHost>
谢谢 :)
答案1
简短的回答是“不”。正如你所发现的,扩展%0
特定于 mod_vhost_alias指令并且不受其他模块支持。
主要问题是 Apache 的设计基于静态配置,mod_vhost_alias 只是一个例外,一个 hack。这使得其他模块和指令的动态配置变得困难。
如果您想使用 mod_cband,据我所知,您必须开始使用特定于客户端的虚拟主机条目,并在有新客户端加入时重新启动您的网络服务器。
我认为大多数具有 mod_vhost_alias 设置的提供商都会解析 apache 日志文件并使用生成的统计数据作为带宽统计工具。