Apache 2.4 mod_status虚拟主机配置出现禁止使用错误

7y4bm7vi  于 2022-11-16  发布在  Apache
关注(0)|答案(3)|浏览(159)

我试图在我的apache2.4服务器上设置mod_status。我已经在网上搜索了几个小时,但所有给出的例子都只显示了主httpd.conf文件中的标记,而不是如何将指令放置到虚拟主机设置中。
这是我的虚拟主机配置与我所尝试的。当我这样做,然后打开一个本地浏览器或浏览器从我允许的ip地址(我的远程公共地址)我得到一个禁止的错误在浏览器。

<VirtualHost *:80>
ServerName www.thevmscloud.com
ServerAlias thevmscloud.com
ServerAdmin admin@thevmscloud.com
DocumentRoot "d:/wamp/webdocs/www/"
ErrorLog "logs/www.thevmscloud.com.log"
CustomLog "logs/www.thevmscloud.com.log" common

<Location /server-status>
  SetHandler server-status
  Order deny,allow
  Deny from all
  Require host 127.0.0.1 81.133.136.16
</Location>

<Directory "d:/wamp/webdocs/www/">
  LogLevel crit
  Options Indexes FollowSymLinks Includes ExecCGI
  AllowOverride all
  Order Allow,Deny
  Allow from all
  Require all granted
</Directory>

我已经尝试了各种不同的设置组合,在/中注解,位置块与虚拟主机块,在它之外,在httpd.conf主体中,仍然没有喜悦。
问题是,我在任何地方都找不到这种设置的例子。一些帖子说“你可能想把这个添加到你的虚拟主机配置中”,但没有显示如何添加。
有人知道如何配置它,以便我可以浏览到我的domain.com/server-status并按预期查看服务器统计信息吗?
非常感谢Mark

uujelgoq

uujelgoq1#

将其更改为:

<Location /server-status>
    SetHandler server-status
    Require ip 127.0.0.1
    Require ip ::1
    Require ip 81.133.136.16
</Location>
  • 如果不需要,不要使用require“host”,因为它会尝试解析它(特别是对于localhost)
  • 同时检查错误日志。
  • ::1是IPv6的本地主机,您可能需要它。
4zcjmb1e

4zcjmb1e2#

要通过虚拟主机的名称而非localhost/127.0.0.1访问服务器状态,请参阅我的配置:

<IfModule mod_status.c>                                                         
<Location /server-status>                                                       
    SetHandler server-status                                                    
    Order deny,allow                                                            
    Allow from 127.0.0.1                                                        
    Allow from ::1                                                              
</Location>                                                                     
</IfModule>

允许来自地址是同一主机上的客户端的位置,而不是调用服务器的地址,因为具有不同服务器地址的不同虚拟盒共享同一本地主机计算机。

由于我只有一个虚拟框,我不知道是否返回的数据来分裂每个不同的虚拟框。如果你知道它,请编辑此帖子或留下评论。
请注意,尝试从其他地址访问http(s)://hostname/server-status失败,状态为403,日志显示以下错误:AH 01797:客户端被服务器配置拒绝。最后,我无法从外部访问状态,即使我让允许从所有,但这对我来说并不重要。
希望这能有所帮助

gjmwrych

gjmwrych3#

https://httpd.apache.org/docs/2.4/mod/mod_authz_host.html#requiredirectives
代替::1和127.x或本地主机

<Location /server-status>
     SetHandler server-status
     Require local
     Require ip 81.133.136.16
    </Location>

相关问题