php_modが非推奨になったのね

昔のバージョンのphp環境でphpバージョンを上げるという対応中。 apache + PHP8のインスタンスを構築してドキュメントルートまで到達を確認。 対応する人にドキュメントルートまで到達するからプロジェクトのファイルを置いてバージョンアップのエラーを確認してもらうため依頼しましたが HTTP 503 Service Unavailable のエラーが出ているとのこと。 HTMLファイルはアクセスできているからPHPの実行ができていないと思い調べると Apache HTTP サーバーで使用するために PHP に提供されている mod_php モジュールが非推奨になりました。 php-fpmをインストールして起動し、リクエストを流してphp-fmpでphpを実行するようにして解決。 しばらくPHPを触っていなかったのでモジュールが非推奨になったことに気づかずでした。

初めてnodeサーバを構築してiOS/OSXでバックエンドのリクエストがエラーになったメモ

nodeサーバを構築してiOS/OSXでバックエンドAPIのレスポンスが取れなくてはまったメモです


前提として

環境は
ロードバランサ AWSのアプリケーションロードバランサ 1台
フロント(nodeサーバ)AWS EC2 1台
バックエンド(apache2.4) 1台
DB AWS RDS 1台

こちらの構成です

発生した事象は、iPhone/Macでページ表示の際に
APIからのデータが反映したりしなかったりすることがあるというもの

例えばTOPページの新着ニュースの表示がされたり、データが取得できずに新着ニュースが表示されなかったりといった感じの事象でした

調べてもあまりわからなかったんですがchromeの開発者ツールでエラーが出ているのを確認してググりました

あまり同様の事象の人は出てこなかったんですが

一人だけドンピシャの事象を記事にしている人を発見!!
これは本当に感謝です!!

参考にさせていただいた記事はこちら
AmazonLinux2のhttpdをALB経由で公開するWeb環境で発生していた、SafariのHTTPS接続エラーを改善してみた

本当に助かりました!!

ポイントは運用が始まってしまったのでどれとどれで発生条件になるか詳細まで詰め切れてはいませんが確認ポイントは以下だと思います


  • ALB(application load balancer)を利用している
  • apacheやnginxでリバースプロキシを利用したリクエストである
  • apacheであればHTTP/2のモジュールが有効になっている


になります
これは今回トラブったサービスで全てはまりました

参考サイトにもあるように

レスポンスヘッダ情報
Upgrade: h2,h2c
が含まれているとレスポンスが正常に受け取れず表示されないという事象でした

ブラウザの開発ツールで確認するとネットワークでエラーが出ているのがわかり

こんなエラーが出ていました
Failed to load resource: 操作を完了できませんでした。 プロトコルエラー

参考サイトにもあるように
http2モジュールを無効にして解決しています

参考サイトはyum updateによる上書きがされないように確認したりしていますが
新規リリースしてトラブったので即
vim /etc/httpd/conf.modules.d/10-h2.conf
# LoadModule http2_module modules/mod_http2.so
で解決しちゃいました


ELB配下で利用する場合には不要な Amazon Linux2 のmod_http2 モジュール 無効化により僅かながらもトラフィックやEC2リソースの節約にもなったと推測されます。

参考サイトのここの部分は私には理解できませんでしたが、本当にぴったりの記事を書いていただいていて感謝でした!!

コメント

このブログの人気の投稿

nginxで画像が表示されない。。

AWSのS3バケットをマウントするs3fsでマウントが外れた件

CakePHP3でHTTPSにする