LoginSignup
2
1

More than 3 years have passed since last update.

ALB+Apache WEBサーバ(EC2)で502 BadGatewayになる問題

Posted at

概要

AWSでSSL化したWEBサーバーを立てたかったので作成したところ、『502 Bad Gateway』が表示されてハマったのでその記録。

結論から言うと、Apacheの再起動でOKでした。
(ただし、これが正解かどうかは不明)

環境

AWSにてWEBサーバーの構築。
ドメインをSSL化したかったのでALB-EC2単体の構成にしてます。

  • EC2
  • ALB
  • Route53
  • ACM(AWS Certificate Manage)

EC2上ではApacheを動かしてます。

環境の作成は下記サイトを参照して行いました。

EC2+ACM+ALB+お名前.comで設定をしてサブドメインでhttps接続できるようになるまでひととおり

エラー現象

AWS側の設定も完了して、ブラウザでアクセスするとApacheの画面になった。
apache_start.png

よっしゃ!ということで、PHPのソースをアップロードして接続確認してみたところ…

「502 Bad Gateway」

なんでやねん。
確かにALBのログを見ると、ある時点からエラーが上がっている。

CloudWatchログ.png

ターゲットグループを確認しても確かにunhealthyになっている。

Health checks failed with these codes: [502]

下記画像は別のものですが、unhealthyが表示されていて、「説明」の項目に上記のエラーが表示されていたはずです。
(スクショ忘れたので参考として…)
ターゲットグループ.png

ALB側の問題か、WEBサーバ上の問題か、わからずにハマってました。。。

Apacheのエラーログに出力があった

サーバー上でApacheを動かしてるわけですが、そもそもここまでアクセスがきていないとダメなわけで。
ログ(/etc/httpd/logs/error_log)を確認したところ、変なエラーが出てるんです。

[core:notice] [pid 3628] AH00052: child pid 3643 exit signal Segmentation fault (11)

もちろん、 /etc/httpd/logs/access_logの方にはなにも出力されていない。

ということは、ALB→WEBサーバーへはアクセスOK。WEBサーバー→ALBへの返却がNGということ。

対応したこと

上記エラーログをググったりしたんですが、有効な解決策は見当たらず。

とりあえずApache再起動するかー

と思ってやってみたところ……アクセスできた!!

Apache再起動コマンド↓↓

service httpd restart

まとめ

ターゲットもhealthyになり、HTTPステータスも200が返答されるようになりました。

WEBサーバにロードバランサー(ALB)をつなぎこむとApacheの再起動が必要なのだろうか?

再起動って大事だね。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1