お疲れ様です。
みなさまいかがお過ごしでしょうか。
コロナウィルスにより、大変な世の中になってしまい、今後どうなっていくのか不安に思っています。
弊社は2月末よりテレワークとなりました。
一部は出社している日もあるようですが、基本的にはもうみんなの顔を忘れている頃だと思います。
私はお家時間が増えたので、FODを契約し、のだめカンタービレのドラマと映画を一気にみました。
今クラシックを聞きながら書いています。
一曲もわかりません。
本題です。
私は2 ~ 3年ほど前からElasticBeanstalk + CircleCI or GitLabCI or GitHubAction という構成を多く使用しています。
色々な構成内容をconfigファイルに記載しておき、
developとproductionをブランチによって自動で切り替えたり、環境構築を人依存しないようにしております。
近頃スタートしたプロジェクトの開発環境を構築しようと、以前のプロジェクトから色々コピーしました。
ハマりました。
今回はNode.js + nginx 環境です。
http → https のリダイレクトを nginx で設定しています。
files: /etc/nginx/conf.d/redirect.conf: mode: "000644" owner: root group: root content: | # Redirect HTTP To HTTPS server { listen 81; rewrite ^ https://$host$request_uri permanent; }
こんな感じのファイルを
.ebextensions/redirect.config
として置いておけば、あとはElastic Beanstalk君がやってくれていました。
...ところが新しく作った環境だとリダイレクトされない...
...ファイルの記載方法が悪いのか...
...ログみても何も残っていない...
...とりあえず、SSH Key作って接続して中身みてみよう...
あれ...
/etc/nginx/conf.d/redirect.conf
作られてねーじゃん。
なんで無視するの?嫌われた?
という壁にぶち当たりました。
色々調べていくと...
https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/platforms-linux-extend.html
どうやら Linux 2
というプラットフォームでは nginx などの設定は
.platform/nginx/conf.d
にそのままの記載方法
server { listen 81; rewrite ^ https://$host$request_uri permanent; }
これを custom.conf などに記載するように共通化されたみたいでした。
確かに元々のプロジェクト達は
Node.js running on 64bit Amazon Linux/4.14.1
今回は
Node.js 12 running on 64bit Amazon Linux 2/5.0.1
でした。
これか!
となりました。(何かログ出してくれると助かったけど...)
AWSの進化は早いので、統一して全てのプロジェクトあげていこう!
と思いました。
他の困った方の役に少しでも立てれば幸いです。