ハジメトーク最新記事

ハジメクリエイト社員による、日々の業務やトレンド、日常のアレコレについてお届けします。

もっと見る

【Laravel】無料独自SSL設定でハマった時の解決策

2025.03.05

どうもこんにちは塚本です。

この記事では、エックスサーバー(シンレンタルサーバー、スターサーバーも同様)のドキュメントルートにLaravelを設置したサイトに、無料独自SSLを設定する際にハマってしまった方向けに、解決策を紹介します。

私自身、同様の問題に直面し、解決に時間を要しました。
本記事が、同じような状況でお困りの方の助けになれば幸いです。

TL;DR

  • Laravelのドキュメントルートに.htaccessを設置しない。
  • 設置する場合は、HTTP-01チャレンジの通過設定を追記する。

無料独自SSL設定が通らない原因

(今回のパターンに限ります)
エックスサーバーで無料独自SSL設定が通らない主な原因は、以下の通りです。

公開ディレクトリとLaravelの公開ディレクトリの差異

  • エックスサーバーの標準的な公開ディレクトリは、「$HOME/サーバーID/ドメイン名/public_html」です。
  • 一方、Laravelのデフォルト公開ディレクトリは「public」です。
  • そのため、通常は「$HOME/サーバーID/ドメイン名/public_html/public」にLaravelのファイルが配置されます。

.htaccessによるリダイレクト

公開ディレクトリが違うため、このままではドメイン名にアクセスしてもLaravelは動きません。

したがって、「$HOME/サーバーID/ドメイン名/public_html」に.htaccessを設置してドメイン名へのアクセスを「$HOME/サーバーID/ドメイン名/public_html/public」へリダイレクトさせていました。

今回のケースでは、これが直接の原因でした。

Let’s Encryptの無料独自SSL設定について

Let’s Encryptは、Webサイトの所有者であることを確認するために、主にHTTP-01チャレンジを行います。

HTTP-01チャレンジとは

ドメインのルートディレクトリにある /.well-known/acme-challenge/ ディレクトリに特定のファイルを配置し、そこに HTTP でアクセスすることでドメインの所有権を確認する手法です。
サーバの管理画面で無料独自SSL設定を行うと、自動で該当ディレクトリが作成され、HTTP-01チャレンジを受け付けるようです。

追加した.htaccessが邪魔していた

しかし、僕が追記した.htaccessのせいですべてのリクエストが public ディレクトリにリダイレクトされるため、Let’s Encrypt が検証ファイルを正常に読み込めていなかったようです。

対処法

# Let's Encrypt の認証を許可
RewriteRule ^\.well-known/acme-challenge/ - [L]

こちらの記述を.htaccessに追記し、HTTP-01チャレンジを妨げないようにすると無料独自SSL設定の更新ができました。

まとめ

初歩的なトラブルですが、灯台もと暗しという感じで全く気付けませんでした。
Let’s Encrypt側の問題だろうと放置していたのですがあまりに更新できないので「もしや・・・?」と思い気付いた感じです。

繰り返しになりますが、本記事が、同じような状況でお困りの方の助けになれば幸いです。


🏢 株式会社ハジメクリエイトについて

この記事は、 株式会社ハジメクリエイト のエンジニアが執筆しました。


💻 Webシステム開発のプロフェッショナル

私たちは、ビジネスの成長をサポートするため、 PHPを用いたオーダーメイドのシステム開発 を提供しています。
お客様一人ひとりのニーズに応じたカスタムシステムを、 企画から開発・運用まで一貫してサポート
さらに、 React Nativeを活用したiOS/Android対応のアプリ開発 も得意としています。

単に「作る」だけでなく、
課題の本質に向き合い、最適な解決策を提案する のがハジメクリエイトのスタイルです。


🧑‍💻 一緒に働く仲間を探しています!

株式会社ハジメクリエイトでは、 自ら考え行動できるエンジニア を募集しています。
「私はこれがしたい!」という想いを持つあなた、一緒にモノづくりを楽しみませんか?

  • 技術で人の役に立ちたい
  • 意見が通る小さなチームで働きたい
  • フロントエンドもバックエンドも、いろいろ挑戦してみたい
  • お客さんと一緒にプロジェクトを育てたい

そんな気持ちがある方なら、きっと居心地のいい環境だと思います。
正社員はもちろん、パートタイムでの参加も歓迎中! 柔軟な関わり方で、あなたらしく働いてください。

👉 採用情報を見る
👉 お問い合わせはこちら


ちょっとでも「この会社、気になるな」と思ったら、ぜひお気軽にご連絡ください📩
最後まで読んでいただきありがとうございました!

  • Laravel
  • Xserver

この記事を書いた人

Sho Tsukamoto

Chief Engineer Sho Tsukamoto

2023年4月入社。Web職人のたまごです。 最近はもっぱらコーディングすることは少なく、LaravelやReact Nativeを用いたシステム開発をメインとしています。

Sho Tsukamotoの書いた記事一覧へ

ハジメクリエイトでは一緒に働く仲間を募集しています!

関連記事