私はVPSを持っています(私のOSとしてCentOS 7を使用しています)そして今私は構成していますMunin(監視ソフトウェア)。 Apacheの監視で少し問題が発生しました。
これで、このcfgがhttpd.confにあり、すべてが正常に機能します。
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from localhost
</Location>
ターミナルムニン:
munin-node-configure --suggest | grep Apache
apache_accesses | yes | yes
Apache_processes | yes | yes
Apache_volume | yes | yes
しかし、この設定では/server-status
サーバー内のすべてのドメインから利用可能:
example.com/server-status
example.net/server-status
192.0.2.1/example-status
私はこのようなことを達成したい:
example.com/server-status ---> ERROR 404
example.net/server-status ---> ERROR 404
192.0.2.1/example-status ---> OK
したがって、cfgをhttpd.confから私のvhost default fileに移動すると、次のようになります。
<VirtualHost _default_:80>
DocumentRoot /var/www/server
ErrorLog /var/log/www/server_error.log
CustomLog /var/log/www/server_requests.log combined
</VirtualHost>
そして更新後:
<VirtualHost _default_:80>
DocumentRoot /var/www/server
ErrorLog /var/log/www/server_error.log
CustomLog /var/log/www/server_requests.log combined
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from localhost
</Location>
</VirtualHost>
その後、MuninはApacheサービスの監視を停止し、次のように言います。
Apache_accesses | yes | no [Apache server-status not found. check if mod_status is enabled]
Apache_processes | yes | no [Apache server-status not found. check if mod_status is enabled]
Apache_volume | yes | no [Apache server-status not found. check if mod_status is enabled]
PS:サーバーにはホスト名(つまりドメイン)がありません。現在、サーバーIPをホスト名として使用しています
必要な設定を達成するのを手伝ってもらえますか?
必要なServerNameで仮想ホストを作成することで逃げることができると思います。名前ベースの仮想ホストセットアップのServerNameは、ブラウザ/ HTTPクライアントがHost
ヘッダーフィールドに入力したものにマップされます。
したがって、これは機能するはずです。
<VirtualHost *:80>
ServerName 192.168.1.2
DocumentRoot /var/www/server
ErrorLog /var/log/www/server_error.log
CustomLog /var/log/www/server_requests.log combined
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from localhost
</Location>
</VirtualHost>
Apacheのドキュメント( https://httpd.Apache.org/docs/current/mod/core.html#servername )は、IPをServerNameとして使用できることを指定し、ServerNameがどのように機能するかを次のように説明しています。
名前ベースの仮想ホストを使用している場合、セクション内のServerNameは、この仮想ホストと一致するためにリクエストのHost:ヘッダーに表示する必要があるホスト名を指定します。