Apache 服务器状态卡在重定向循环中

Apache 服务器状态卡在重定向循环中

我在 Azure 中使用 Linux(Ubuntu 16.04.06 LTS),并尝试启用 Apache 状态。但是,在我启用状态模块后,当我转到http://localhost/服务器状态我收到错误

$获得http://localhost/服务器状态/

--2020-02-27 20:58:26-- http://localhost/服务器状态/正在解析本地主机 (localhost)... 127.0.0.1 连接到本地主机 (localhost)|127.0.0.1|:80... 已连接。HTTP 请求已发送,等待响应... 500 内部服务器错误 2020-02-27 20:58:26 错误 500:内部服务器错误。

当我看到 Apache错误日志我收到一条关于内部重定向过多的消息

[2020 年 2 月 27 日星期四 20:58:26.451285] [core:error] [pid 86787] [client 127.0.0.1:51734] AH00124:由于可能的配置错误,请求超出了 10 次内部重定向的限制。如有必要,请使用“LimitInternalRecursion”增加限制。使用“LogLevel debug”获取回溯。

我使用了标准命令:sudo a2enmod 状态启用服务,然后重新启动 apache。我还使用默认配置文件:

---- 状态.conf ---

<IfModule mod_status.c>
        # Allow server status reports generated by mod_status,
        # with the URL of http://servername/server-status
        <Location /server-status>
                SetHandler server-status
                #Require ip 192.0.2.0/24
                Require local
        </Location>
        # Keep track of extended status information for each request
        ExtendedStatus On
        <IfModule mod_proxy.c>
                # Show Proxy LoadBalancer status in mod_status
                ProxyStatus On
        </IfModule>  
</IfModule>

---- 状态.conf ---

我确实对所有 http 流量设置了重定向,但本地主机流量除外。

--- 默认.conf ---

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        RewriteEngine On

        RewriteCond %{HTTP_HOST} !^localhost [NC]
        RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$

        RewriteCond %{HTTPS} off
        RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

--- 默认.conf ---

我知道上述配置没有重定向到 https,我已经测试过这个,没有异常,我收到一条完全不同的消息,告诉我安全证书不匹配。

默认目录中有一个 .htaccess 文件,但它看起来很干净

--- .htaccess ---

RewriteEngine on \n
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
RewriteCond %{REQUEST_URI} ^/favicon.ico$
Options -Indexes
<Files deploy>
   Order allow,deny
   deny from all
</Files>

--- .htaccess ---

有人在 Azure 中使用过此功能吗?这是否仍是我在配置中遗漏的?还是由于其他配置问题,这在 Azure 中根本不起作用?这可能是 Azure 网络问题吗?

我感谢任何帮助。

干杯,- GaryC - UnKulMunki -

答案1

我找到了答案。

默认主机位于/var/www/html ...该目录中是 webapp 代码,以及它的 .htaccess 文件...

但是在父目录中(/var/www/) 是其他 .htaccess该文件重载了子目录中的指令.htaccess文件....

我为本地主机添加了一个例外,服务器状态现在可以正常工作了!

谢谢...Gary C

相关内容