サブドメインを作ったら焦った話

XServerでブログやサービスを運用していると、小さなつまずきに出会うことがあります。
私が経験したのは、サブドメインのSSL設定に関することでした。

メインドメインの「www」付きは、httpでアクセスしても自動でhttpsに転送されます。
最初に確認したときは「これなら安心だ」と思っていました。
ところが、新しく「app」というサブドメインを作成すると、httpでアクセスできてしまったのです。
「SSL設定をしたはずなのにおかしい」と焦ったことを覚えています。

この記事では、そのときの体験をもとに、XServerでサブドメインのSSL化に悩んでいる方へ解決方法を紹介します。
同じような状況で困っている方に役立てばうれしいです。

wwwは自動でSSL化される安心感

XServerの「ドメイン設定」からHTTPS転送を有効にするとwww付きのメインドメインは自動でhttpsへ転送されます。
この動作を最初に確認したとき、私は「XServerは分かりやすい」と感じました。

以下の画像のように、公式マニュアルの「ドメイン設定からの常時SSL化」に掲載されている手順の通りに行えば、すぐに設定できます。

公式マニュアルの「ドメイン設定からの常時SSL化」

参考:ドメイン設定からの常時SSL化 | エックスサーバー公式マニュアル
「新サーバーパネル」タブ → ドメイン設定からの常時SSL化

サブドメインは個別にSSL化が必要

これで設定が完了したと思っていたのですが、新しく作成した「app.example.com」はhttpでアクセスできる状態が残っていて焦りました。
XServerの公式マニュアルで慌てて調べた結果、原因はwww以外のサブドメインはSSL化を個別に設定しなければならない仕様にあったのです。

私は最初その点に気づかず、「SSL化の設定が反映されていないのでは?」と疑い、時間を無駄にしました。
公式マニュアルを読み直し、必要な手順を確認して解決できましたが、最初から公式マニュアルを読んでおけばよかったと少しだけ後悔しています。

以下の画像のように、公式マニュアルの「Webサイトの常時SSL化」から設定できます。
マニュアルに書いているとおりに設定すればよいので、簡単に設定できます。

公式マニュアルの「Webサイトの常時SSL化」

参考:Webサイトの常時SSL化 | エックスサーバー公式マニュアル
「新サーバーパネル」タブ → Webサイトの常時SSL化

公開ディレクトリがwww配下になる仕様

もう一つ迷ったのは、公開ディレクトリの仕様です。
XServerでサブドメインを作成すると、以下のように「www」の配下にディレクトリが作られます。

  • www.example.jp → /example.jp/public_html/
  • app.example.jp → /example.jp/public_html/app

「app.example.jp」でアクセスできますが、同時に「http://example.jp/app」というサブディレクトリからもアクセスできる状態になります。
最初は「仕様なのか、それとも誤設定なのか」と不安になりましたが、調べてみるとXServerでは標準的な挙動でした。

「app.example.com」だけを使いたい場合は、サブディレクトリからのアクセスを禁止し、サブドメインだけを利用するためのアクセス制御を追加する必要があります。
詳しい設定は「サブドメインだけを利用する場合」を見てください。

常時SSL化の手順

実際に行った手順を振り返ると、常時SSL化の場合、以下の順番で行えばよいのでそれほど難しくありませんでした。

  1. サーバーパネルにログイン
  2. 「ドメイン設定」を開く
  3. SSLを設定したいドメインの「詳細」リンクを選択する
  4. 「SSL設定」で独自SSLを追加する
  5. 「HTTPS転送」でHTTPS転送にするを選択する

参考:Webサイトの常時SSL化 | エックスサーバー公式マニュアル
「新サーバーパネル」タブ → ドメイン設定からの常時SSL化

サブドメインだけを利用する場合

サブドメインのみを公開し、メインドメインへのアクセスを禁止したい場合もあります。
例えば「app.example.com」だけを使いたい場合です。

私は公式マニュアルを見てサブドメインのみ利用できるように設定した後、意図した通りに動作しました。

このとき参考にしたのは、以下の画像のように公式マニュアルの「サブドメインのアクセスのみを許可して、ドメインでのアクセスを禁止する方法」です。

公式マニュアルの「サブドメインのアクセスのみを許可して、ドメインでのアクセスを禁止する方法」

参考:サブドメインのアクセス設定 | エックスサーバー公式マニュアル
「新サーバーパネル」タブ → サブドメインのアクセスのみを許可して、ドメインでのアクセスを禁止する方法

まとめ

今回の体験で学んだことは次のとおりです。
XServerの仕様を理解して以下の設定を行えば、安全なサイトを作ることができます。

  • www付きは自動でSSL化される
  • サブドメインは必ず個別にSSL設定が必要である
  • 公開ディレクトリがwww配下になるのは仕様である
  • サブドメインのみ利用したい場合はアクセス制御を行う

最初は「設定ミスかもしれない」と不安になりましたが、公式マニュアルを確認しながら進めれば解決できます。
同じように悩んでいる方も、落ち着いて手順を確認すれば安心して設定を完了できるはずです。