mod_info
設定ファイルがどの順序でインクルードされたかもわかる
各モジュールが何をどの順番でフックしているかなどを見ることができる
設定例
通常使うURLパスと混合しないように8080/tcpをListenしてこの用途に使っている。
接続元IPアドレスを制限するべきである。
code:/etc/httpd/conf.d/info.conf
Listen 8080
<VirtualHost *:8080>
DocumentRoot "/var/www/html"
<Location "/server-info">
SetHandler server-info
</Location>
<Location "/server-status">
SetHandler server-status
</Location>
</VirtualHost>
コンパイル時の設定なども見ることができる
https://scrapbox.io/files/602e51413d282d001db76533.png
例えば/server-info?configにアクセスすると読み込まれたすべての設定ファイルを俯瞰することができる。
https://scrapbox.io/files/602e4048be27d8001c025e22.png
/server-infoの各モジュールを見ればこの設定の各部分がどのモジュールに影響しているかもわかる。
code:/server-info?authz_core.c
In file: /etc/httpd/conf.d/php.conf
4: <Files ".user.ini">
6: Require all denied
: </Files>
code:/server-info?mime.c
In file: /etc/httpd/conf.d/php.conf
18: AddType text/html .php
code:/server-info?dir.c
In file: /etc/httpd/conf.d/php.conf
24: DirectoryIndex index.php
code:/server-info?setenvif.c
In file: /etc/httpd/conf.d/php.conf
58: SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
code:/server-info?core.c
In file: /etc/httpd/conf.d/php.conf
60: <FilesMatch \.(php|phar)$>
61: SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost"
: </FilesMatch>