web-dev-qa-db-ja.com

Apacheサーバーステータスページをlocalhostに制限できません

UbuntuでApache 2.4.18を使用しています。

Localhostからのみサーバーステータスの読み取りを許可したい。

/etc/Apache2/mods-enabled/status.conf 私が持っています:

<Location /server-status>
          SetHandler server-status
          Require ip 127.0.0.1
</Location>

私は https://httpd.Apache.org/docs/2.4/howto/access.html を読み、上記の設定が機能していることを確信しています。新しい構成がアクティブになるように、Apacheを再起動しました。ただし、ステータスページは引き続きどこからでも読み取ることができます。

/etc/Apache2/sites-enabled/mysite.conf 私が持っています:

 DocumentRoot /var/www
 <Location />
        Require all granted
 </Location>

私の構成の何が問題になっていますか?

5
Madoc Comadrin

私が見ることができることから、仮想ホスト構成ファイルはmod_status構成ファイルよりも優先されるようです。

実際には、/内のmysite.confにすべてを付与します。

<Location />
        Require all granted
</Location>

これにより、誰でも/server-statusにアクセスできるようになります。

仮想ホスト構成ファイル自体で/server-statusへの権限を管理する必要があります/etc/Apache2/mods-enabled/status.conf

DocumentRoot /var/www
 <Location />
        Require all granted
 </Location>
 <Location /server-status>
        Require local
 </Location>

そこから、/etc/Apache2/mods-enabled/status.confで設定した権限はすべて無視され、/etc/Apache2/mods-enabled/status.confが優先されます。

3
krisFR

Status.confで以下の場所ディレクティブを使用します

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

この後、CLIからマシンにlynxをインストールします。 Lynxは、Linux端末からアクセスできるユーザー向けのフル機能のWorld Wide Web(WWW)クライアントです。

Ubuntuの場合、次を使用してlynxをインストールします

 apt-get install lynx

以下のコマンドを実行して、Apacheサーバーのステータスを確認します。

 lynx http://localhost/server-status
1
imvikasmunjal