如何在 apache 服务器上正确启用 mod_status?
Posted
技术标签:
【中文标题】如何在 apache 服务器上正确启用 mod_status?【英文标题】:How to properly enable mod_status on an apache server? 【发布时间】:2013-10-05 16:14:21 【问题描述】:我一直在到处寻找如何正确启用 mod_status,但没有任何效果。我的服务器名为“willserver.main.ca”。我在 Windows 虚拟机上运行服务器。 我尝试将此添加到 HTTPD 配置文件:
<location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from main.ca
</location>
任何提示或帮助?我不知道我是否应该取消注释,或者我只是一遍又一遍地尝试错误的语法
【问题讨论】:
当我发表评论时,我的“ SetHandler server-status Order Deny,Allow Deny from all Allow from trusys.ca 【参考方案1】:好的,首先确认您有一个类似于此的LoadModule
:
LoadModule status_module modules/mod_status.so
如果不存在,那么您需要下载并添加它。
如果有,那么试试这个:
<Location /server-status>
SetHandler server-status
Order allow,deny
Allow from all
</Location>
看看你能不能打到http://www.my-domain.com/server-status
如果您可以将其切换为:
<Location /server-status>
SetHandler server-status
Order allow,deny
Deny from all
Allow from 192.168.1.100
</Location>
如果访问内部或外部 IP,192.168.1.100
是您的内部 IP。这将限制它,因此不仅仅是任何人都可以访问它。然后,您可以为每个需要访问的 IP/IP 范围添加多个Allow from
。
【讨论】:
@Welsh 如果可以更新,请注意三点: 1. Order Allow,Deny 应该在 Allow 和 Deny 之间没有空格。 2.如果有多个虚拟主机,应该有一个默认的虚拟主机配置,没有设置ServerName,以便mod_status正常工作。 3. 用Apache 2.4 似乎不喜欢 Order 指令中的空格。
Order Allow, Deny 仅作为
订单允许,拒绝
【讨论】:
这是真的。mod_access
文档说 Keywords may only be separated by a comma; no whitespace is allowed between them.【参考方案3】:
mod_status 内置在 Apache Web 服务器中,用于从 Web 浏览器获取服务器状态。使用此模块,我们可以轻松了解服务器的性能。所有报告均以 html 格式生成。
步骤 1。检查状态模块是否启用 apache2ctl -M 或 ls /etc/apache2/sites-enabled
步骤 2。如果没有开启,通过命令开启,
sudo a2enmod 状态
第三步。配置访问,
打开 /etc/apache2/mods-enabled/status.conf 并注释这些行,
#<Location /server-status>
# SetHandler server-status
# Require local
#Require ip 192.0.2.0/24
#</Location>
并添加以下行,
<Location /server-status>
SetHandler server-status
Order deny,allow
Allow from all
</Location>
我们可以通过编辑来限制此配置中特定 IP 的服务器状态访问, 从 our_public_ipaddress 允许而不是从 all 允许
保存 status.conf 文件。
第四步。通过命令重启apache,
/etc/init.d/apache2 重启
第五步。在浏览器中查看服务器状态页面
http://server-ip/server-status
希望这会有所帮助。
【讨论】:
【参考方案4】:在 Mac OS X Yosemite 中,我必须使用它,否则会发生一些无限循环:
<IfModule mod_status.c>
# Allow server status reports generated by mod_status,
# with the URL of http://servername/server-status
# Change the ".example.com" to match your domain to enable.
#
<Location /server-status>
SetHandler server-status
Order deny,allow
Allow from all
</Location>
</IfModule>
取自https://osiutino.wordpress.com/2014/06/12/install-apache-2-4-9-on-mac-osx-10-9-mavericks/
【讨论】:
【参考方案5】:我开发了一个 javascript 应用程序以图表形式显示数据 https://github.com/dioubernardo/apacheServerStatusCharts
【讨论】:
虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。【参考方案6】:您可以在下面找到一个有用的链接: http://www.tecmint.com/monitor-apache-web-server-load-and-page-statistics/
【讨论】:
【参考方案7】:以下配置对我有用。
ExtendedStatus on
<Location /mod_status>
SetHandler server-status
Require local
</Location>
【讨论】:
以上是关于如何在 apache 服务器上正确启用 mod_status?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Apache 2.4.46 在 CentOS7 上启用 http2