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>
私の構成の何が問題になっていますか?
私が見ることができることから、仮想ホスト構成ファイルは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
が優先されます。
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