お世話になっております。
サーバー監視ツールのMackerelでAmazon Linux2のApache監視を行いたく、mackerel-plugin-apache2という公式プラグインを導入しようとしております。
ですがなかなか設定がうまくいかず難儀しております。エラーの内容を見てみるとmod_rewriteによるhttpsへのリダイレクト設定の影響が考えられます。
localhostからのリクエストはリダイレクトを行わないように設定したいのですがどのように設定すればよいかご教示いただけますと幸いです。
現状の状態を以下に控えております。
https://github.com/mackerelio/mackerel-agent-plugins
こちらのプラグインはインストールしておりまして、
/etc/mackerel-agent/mackerel-agent.confファイルにて
conf
1[plugin.metrics.apache2] 2command = "mackerel-plugin-apache2 -p 1080" 3type = "metric"
/etc/httpd/conf/httpd.confファイルにて
conf
1<Directory "/var/www/laravel.app/public"> 2 Options Indexes FollowSymLinks 3 AllowOverride All 4 Require all granted 5</Directory> 6 7Listen 1080 8ExtendedStatus On 9<Location /server-status> 10 SetHandler server-status 11 Require all denied 12 Require ip 127.0.0.1 13</Location>
を設定しました。
本体のサービスはLaravel5.8を使用しておりまして、htaccess内で以下の記述をしております。
Laravel内/public/.htaccessにて以下を追加
RewriteCond %{REQUEST_URI} !=/server-status
RewriteCond %{HTTP_HOST} !=localhost
RewriteCond %{HTTP_HOST} !=127.0.0.1
htaccess
1<IfModule mod_rewrite.c> 2 <IfModule mod_negotiation.c> 3 Options -MultiViews -Indexes 4 </IfModule> 5 6 RewriteEngine On 7 8 RewriteCond %{HTTP_USER_AGENT} !^ELB-HealthChecker 9 RewriteCond %{HTTPS} !=on 10 RewriteCond %{HTTP:X-Forwarded-Proto} !=https 11 RewriteCond %{REQUEST_URI} !=/server-status 12 RewriteCond %{HTTP_HOST} !=localhost 13 RewriteCond %{HTTP_HOST} !=127.0.0.1 14 RewriteRule ^/?(.*) https://%{HTTP_HOST}/$1 [R=301,L] 15 16 # Handle Authorization Header 17 RewriteCond %{HTTP:Authorization} . 18 RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 19 20 # Redirect Trailing Slashes If Not A Folder... 21 RewriteCond %{REQUEST_FILENAME} !-d 22 RewriteCond %{REQUEST_URI} (.+)/$ 23 RewriteRule ^ %1 [L,R=301] 24 25 # Handle Front Controller... 26 RewriteCond %{REQUEST_FILENAME} !-d 27 RewriteCond %{REQUEST_FILENAME} !-f 28 RewriteRule ^ index.php [L] 29</IfModule>
Mackerel側でモニタリングされないためログを確認しました。
sudo journalctl -u mackerel-agent.service
すると以下のエラーが1分起きに発生しておりました。
2021/04/13 15:46:00 INFO <metrics.plugin> command mackerel-plugin-apache2 -p 1080 outputted to STDERR: "2021/04/13 15:46:00 OutputValues: Get \"https://127.0.0.1:1080/index.php?auto\": http: server gave HTTP response to HTTPS client\n"
本体サービスのhtaccessでlocalhostでのアクセス時はリダイレクトを行わないような設定をしたいのですが何をやっても上手くいきません。
ご教示いただけますと幸いです。
何卒よろしくお願いいたします。
あなたの回答
tips
プレビュー