オリジンコンテンツに対するパフォーマンスチューニング及び測定の自動化のため
openrestyのluaで、ローカル環境からのアクセスかつ特定のヘッダーが付与されている場合、対象のFQDNのconfを自動で書き換えるようにさせる。
- ngrokで発行されたFQDNをリクエストすることで書き換え可能
- 「pagespeed_insights」での結果を元に、圧縮したコンテンツを配置しておく。locationパスでのマッチングでコンテンツを返す
- 圧縮コンテンツのパスをかくのも作業もdockerファイルでの対象外
- このあたりもコンテンツ圧縮サーバを用意して自動化させたい
docker-compose build --no-cache openresty_proxy
docker-compose up -d openresty_proxy
- nginx.conf, conf.dディレクトリ以下のファイルを配置
ファイルの自動作成のため(nginxのグループ作って、rootに追加すれば、もっとセキュアにはなるが今回検証環境なので省略)
chmod 777 /etc/nginx/conf.d/./
docker-compose logs -f openresty_proxy
- luaでconfファイルを自動生成させるには、対象ディレクトリへの書き込み権限が必要
- luaでの変数一覧
- log周りも削除もしくは、外部に吐き出しなどしてもよいかも
- docker-composeでbuildする時にcacheを使わない
- dockerfile書き換えても何度か変更されなかったため(nginx.confの書き換えが反映されていなくて調べるとこれが原因だった)
- COPY failed: Forbidden path outside the build context: ../openresty/nginx.conf ()
- DockerfileのCOPYは、コマンドを実行したディレクトリ以下のファイルしかコピーできないらしい。
- COPY failed: stat /var/lib/docker/tmp/docker-builder425834845/nginx.conf: no such file or directory
- issueでバグとして報告されている。
- 手動でコピーするのはさすがにいけていない(一時しのぎで、volumeでつなげる)