SSL化しているサイトにも関わらずreq.protocol
でプロトコルを取得しようとしても常にhttpになってしまう問題に遭遇。
調べてみたところリバースプロキシをSSLに対応させて、その設定をExpress側で取得することで可能になるようです。
Nginxのconfigに下記を追加
location / {
proxy_set_header X-Forwarded-Proto https; # これを追加
}
app.jsに下記を追加
const app = express();
app.enable('trust proxy'); // ←これを追加