以下のアイドルタイムの変更が必要なのかもしれない
登場リソース;
①ALB : Idle timeoutの値を60秒(例)に設定
②PHP : max_execution_time = 180秒 [スクリプトの最大実行時間](例)
③SQL(MS SQL2019) : remote query timeout 300秒(例)
参照先:
https://qiita.com/nagaakihoshi/items/f7326978221ee053d208
以下のアイドルタイムの変更が必要なのかもしれない
登場リソース;
①ALB : Idle timeoutの値を60秒(例)に設定
②PHP : max_execution_time = 180秒 [スクリプトの最大実行時間](例)
③SQL(MS SQL2019) : remote query timeout 300秒(例)
参照先:
https://qiita.com/nagaakihoshi/items/f7326978221ee053d208
504 Gateway Timeout Errorが出たので、改善方法を記載してみる
1)php.iniを作成する
2)dockerfileの作成を行う
3)php infoにて、設定内容を確認してみる
参照先:
https://qiita.com/kaihei777/items/4e3c257e073eb886b38a
訳あって、FROM php:7.4-apacheでの実行ユーザーとグループの変更が必要になってので
以下の記載により再現させてみることに。
1)start-apache.shを作成
2)dockerfileの作成を行う
/etc配下のフォルダー最下層まで一覧を作成して、そこからchmodコマンド一覧を作成するshell
-----------------------
#!/bin/bash
## フォルダーの一覧と権限を取得し、chmodコマンドを生成する
find /etc -type d -exec ls -ld {} \; | awk '{print "chmod",$1,$NF}' > chmod_commands.sh
## 生成されたchmod_commands.shを実行可能にする
chmod +x chmod_commands.sh
## chmod_commands.shを実行してフォルダーの権限を設定する
#./chmod_commands.sh
作成した、chmod_commands.shの中身
以下に追記することで、解消できたので記載します。
1)php-fpm.conf
2)dockerfileに以下を記載。
Apache HTTPサーバーが通常、rootユーザーで起動し、その後特権を降格してからリクエストを処理するメカニズムは、セキュリティと安全性を確保するための重要な設計です。これを理解するために、以下のポイントを詳しく解説します。
起動時の特権 Apache HTTPサーバーは通常、起動時にはrootユーザーとして実行されます。これにより、Apacheは必要なファイルやポートにアクセスするために必要な特権を持つことができます。
特権の降格(特権分離) Apacheが必要な初期設定やファイルへのアクセスを完了した後、特権を降格します。特権の降格はセキュリティ上の理由から行われます。root権限を持つプロセスは攻撃者によって悪用される可能性が高いため、リクエストを処理する段階では特権を持たない一般ユーザーとして動作することが推奨されます。
セキュリティ向上 特権の降格により、Apacheは攻撃者が攻撃に使用できる潜在的な脆弱性を利用されにくくなります。例えば、特権を持つプロセスがリクエストを処理する場合、攻撃者はそのプロセスを標的にしようとします。しかし、特権を持たない一般ユーザーとして動作するApacheは、攻撃者にとっては難しいターゲットとなります。
セキュリティ対策の重要性 特権の降格はセキュリティ対策の重要な要素の1つですが、それだけでなく他のセキュリティ対策も必要です。例えば、適切なファイルアクセス権限の設定、セキュリティパッチの適用、DoS攻撃への対策などがあります。
総じて、Apache HTTPサーバーがroot権限で起動してから特権を降格するメカニズムは、システム全体のセキュリティを向上させる重要な手段です。これにより、潜在的な攻撃からシステムを保護し、安全性を確保することが可能となります。
1)/etc/httpd/conf.d/mpm.confを作成する
2)00-mpm.confの編集を行う。
3)httpd.confに追記
4)apache のサービスを再起動
FPMのログを設定
dockerfileにapacheを入れているので、以下の記載により詳細なデバッグログが表示される
# PHPエラーログの設定 ENV PHP_INI_DIR /usr/local/etc/php RUN { \ echo 'log_errors = On' ; \ echo 'error_log = /proc/self/...