Laravel Forgeの開発でdevドメインをSSL化する方法

ファンブリューの金井です。

Laravel ForgeはLaravelアプリケーション簡単にできるので、結構ヘビーな使い方をしています。

そんな中で、devの付くドメインを利用したときにSSL周りでトラブルが起きたのでメモしています。

まずはHSTSについて

まずはHSTSについて知っておかなければなりません。

強制的にHTTPSのアクセスになるのは、何かしらのキャッシュかと考えていたのですが、原因はこのHSTSというのがdevドメインでは強制になっているようです。

HSTSはHTTPのStrict-Transport-Securityの略です。

HSTSとは、ブラウザでHTTPではなく、HTTPSに変更してアクセスする仕組みです。

こちらの記事を参考にさせていただきました。

ForgeとLet’s encryptとdevドメインの組み合わせには注意

Forgeを使うときの手順をざっくり示すと、

  1. サーバーの構築
  2. サイトの設定
  3. DNS設定(これはForge外で行う)
  4. リポジトリの指定
  5. SSL化

になります。

ただし、devドメインでHSTSが行われると、5番のSSL化で失敗します。

ここからは予想なので鵜呑みにはしないでください。

ForgeのLet’s encryptはHTTPのチャレンジを行なっているので、devドメインでHSTSが効いてしまうと、チャレンジが失敗します。

SSL化するためのチャレンジなのに、先にHSTSでHTTPSで繋ぎに行くという矛盾がありそうです。

これを回避するためには、次のように手順を変更します。

  1. サーバーの構築
  2. サイトの設定
  3. DNS設定(これはForge外で行う)
  4. SSL化
  5. リポジトリの指定

Laravel Forgeはサイトの設定をすると、index.htmlが自動に作成されます。

この状態でLet’s encryptの設定を行います。

その後にLaravelのアプリケーションをインストールすることで、devドメインのSSL化が完了します。

Laravel Forgeの恩恵を受けつつも理解を深める

Laravel Forgeを使うと、インフラ側をあまり意識せずにアプリのデプロイができてしまいます。

ただ少し細かい設定をしたいときは、どうしてもサーバーを触る必要が出てきます。

どこかでForgeの仕組みを理解した方がいいだろうなと感じました。

システム開発のご相談はお気軽に

要件定義から運用まで、お客様のビジネスに最適なシステムをご提案いたします。
まずはお気軽にご相談ください。

初回相談無料 お見積もり無料 土日対応
今月の見積もり受付、残り2社様です

小さな会社なので、お客様一社一社に丁寧に向き合うため、
同時にお受けできる案件数に限りがございます

お問い合わせ・ご相談
先月32件のご相談

お探しの情報は見つかりましたか?

ご不明な点やご相談したいことがございましたら、
お気軽にお問い合わせください。

無料相談 オンライン対応 営業電話なし
お問い合わせはこちら