質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
mod_rewrite

ApacheウェブサーバーのためのURL書き換えモジュールです。主にプリティーURLに使われていますが、同様に単純置換を超えた、多様なタスクの処理能力や柔軟性があります。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

0回答

1246閲覧

mod_rewriteによるhttpsリダイレクト設定の影響でmod_statusが見れない

paranoaman1217

総合スコア24

mod_rewrite

ApacheウェブサーバーのためのURL書き換えモジュールです。主にプリティーURLに使われていますが、同様に単純置換を超えた、多様なタスクの処理能力や柔軟性があります。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2021/04/13 07:14

編集2021/04/14 02:18

お世話になっております。
サーバー監視ツールの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でのアクセス時はリダイレクトを行わないような設定をしたいのですが何をやっても上手くいきません。
ご教示いただけますと幸いです。
何卒よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2021/04/14 00:29 編集

httpd.conf の location タグに記載しているのであれば、laravel に処理が渡る前のApache の段階で処理されると思うのですが... 設定変更した内容が有効になっていないか競合する設定があり、競合する設定が優先されているように見えます。 設定ファイルを変更した後は、Apache を再起動されていますか?
paranoaman1217

2021/04/14 02:33

Apacheの再起動はしております。 httpd.confで編集した箇所は追加しておいたのですがこれだと競合しているかどうかって分かったりしますでしょうか? 基本的にはこの他は触っていないので問題ない場合は別の要因で調査した方が良さそうですよね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問