👋
Docker + Traefikで運用するDrupalのリバースプロキシ設定
概要
以下の記事で紹介したDocker + Traefikを用いて、HTTPS化したDrupalを運用していました。
この時、Drupalのデフォルト設定の場合、以下のように、httpのURLが設定されていました。
この問題として、以下の記事になるように、例えばGoogleアカウントでログインするようにした際、リダイレクトURLがhttpから始まるURLとなり、Google Cloud コンソールにはhttpsから始まるURLを入力する必要があり、この齟齬によって、認証ができないケースなどがありました。
本記事では、この問題に対処するための方法についてメモします。
方法
以下の記事が参考になりました。
以下の3行を追加することで、Drupalの内部的にもhttpsから始まるURLに設定されました。
/web/sites/default/setttings.php
...
$settings['reverse_proxy'] = TRUE;
$settings['reverse_proxy_addresses'] = array($_SERVER['REMOTE_ADDR']);
$settings['reverse_proxy_trusted_headers'] = \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_FOR | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PROTO | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PORT;
...
まとめ
考慮不足の点があるかもしれませんが、参考になりましたら幸いです。
Discussion