作为代理服务器运行时的Apache服务器状态


2

我们正在将apache作为代理服务器运行,并且在apache之后有tomcat。我们正在使用server_status模块,但是当我们尝试访问server_status时,https://host.com/server-status它重定向到tomcat并显示404错误。我对此很陌生,尝试过apache文档,但无法找出解决方案。Fyi。我们启用了ssl

当前的ssl.conf设置:

  ProxyRequests     Off
  ProxyPreserveHost On

  <Proxy http://localhost:8081/*>
      Order deny,allow
      Allow from all
  </Proxy>

  ProxyPass         /  http://localhost:8081/
  ProxyPassReverse  /  http://localhost:8081/
  ProxyPassReverse   /  http://myhost:8081/


    <Location /server-status>
            SetHandler server-status
            Order deny,allow
            Deny from all
            Allow from 10.90
    </Location>

建议更改后

 ProxyRequests     Off
 ProxyPreserveHost On

<Proxy http://localhost:8081/*>
    Order deny,allow
    Allow from all
</Proxy>

ProxyPass         /server-status !
ProxyPass         /  http://localhost:8081/
ProxyPassReverse  /  http://localhost:8081/
ProxyPassReverse   /  http://myhost:8081/

编辑2:

需要对httpd.conf进行更改,并且我 ProxyPass /server-status !在Proxy模块配置的指令下添加了,它可以工作。

Answers:


3

您可以!在ProxyPass指令中使用代理例外。就像是

ProxyPass /server-status !

应该这样做。

有关更多的ProxyPass指令,请参见apache文档:http : //httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass,尤其是

!伪指令在您不想反向代理子目录的情况下很有用,例如


不幸的是,这不是我的工作。这应该是理想的解决方案,但不是。
fzN 2014年

这可能是事物的顺序。使用新的配置更新您的问题。
KM。

使用新的配置更新了问题
fzN 2014年

将其放置在该</Location>行之后, 然后重新启动Web服务器
KM。

我正在更新ssl.conf,似乎应该使用您的建议来更新httpd.conf。但是,它现在正在工作。谢谢KM
fzN 2014年

0

我有很多站点,其中一些站点具有“重定向永久站点”。由于某种原因,它不起作用(至少对我而言)。

我使用/ server-status进行监视,因此只需要从本地LAN内的另一台服务器连接到它即可。因此,我用本地IP作为ServerName创建了一个额外的Vhost,如下所示:

<VirtualHost *:80>
   ServerName   <<local_server_ip>>
   ServerAlias  <<local_server_ip>>
   ServerAdmin  foo@example.com

        DocumentRoot "/var/www/html"

    Options Indexes FollowSymLinks
</VirtualHost>

我不是专家,但对我有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.