この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
App RunnerはWebアプリ実行に必要なネットワークやLB設定などを
フルマネージドに提供してくれるサービスです。
GithubリポジトリにWebアプリのコードを用意しておけば、
それを自動でデプロイしてくれてドメインも割当てしてくれます。
※もう少し詳しいApp Runner記事はここ参照
正しいprotocolが取得できない
node + expressアプリの動作検証のため、
3000番ポートで起動するように設定し、App Runnerで自動デプロイしました。
そして、httpsのデフォルトドメインが割り当てられました。
サンプルのソースは↓です。
const express = require('express');
const app = express();
app.get('/', function (req, res) {
//httpが表示される
console.log("protocol : " + req.protocol);
res.send('Hello App Runner');
});
app.listen(3000);
割り当てられたドメインにアクセスすると、protocolが常にhttpで表示されてしまいます。
trust proxy で解決
App RunnerによってデプロイされたWebアプリはLBの後ろで動いているので、
app.enableでtrust proxyをセットしてあげればOK。
・・・
const app = express();
app.enable('trust proxy');
・・・
これで正しいprotocolが取得できます。