LoginSignup
3
1

More than 5 years have passed since last update.

Heroku上のLaravel 5.5でHTTPSを有効にする

Posted at

HerokuにLaravelをデプロイした際、そのままではroute()、asset()等のヘルパーで出力されるスキームがhttpになります。
これはアクセスする際にHeroku側のロードバランサによってフォワードされ、リクエストのスキームが消えてしまうことが原因です。

対応策

Laravel 5.5ではTrustProxiesというミドルウェアが追加されています。
通常、$proxiesにロードバランサのIPアドレスを追加することでLaravelにリクエスト元のスキームを正しく伝えることができます。

しかしHeroku上のロードバランサはIPアドレスがアクセスのたびに変わるため、指定するべきIPアドレスを特定することができません。
この場合は以下のようにワイルドカードを設定することができます。

app/Http/Middleware/TrustProxies.php
     /**
     * The trusted proxies for this application.
     *
     * @var array
     */
    protected $proxies = '**';

参考資料

HTTP Requests - Laravel

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1