前の記事の改良版というか。
やりたいこと
まず、BASEはサブドメインしか使えないからwwwありのドメインを使ってwwwなしへのアクセスをwwwありに転送しちゃえば昔ながらのルール的な考えでいえばBASEで独自ドメイン運用ができるって言い張れるだろ、っていうレギュレーションのもとに行う。
- BASEを独自ドメインで運用したい。
- 独自ドメインでメールアカウントを作りたい。
- サブドメイン運用も視野に入れたい。
- 当然SSLも入れたい。
できそうに思って意外とできないというか、障害もある。
前提
- お名前.comでドメイン取得をしてる
とりあえずお名前.comでドメインを取得しておいて、サーバーをどこにしようかみたいな使い方をしてる人は多いらしい。自分もそうしてる。
結論
- ドメイン:お名前.com
- サーバー:お名前.com
こうなる。お名前のサーバーは優秀。
問題はドメインとサーバーの紐付けに合った。サーバーによってはネームサーバーしか公開されてなくて、ネームサーバーに紐付けした後はドメインはDNS設定ができない。自分が知ってる中では、サーバー側で紐付けたドメインのDNS設定ができるのはお名前.comだけだった。
契約とか設定とか
簡単なことしかやってないはずなんだけど、サービスによってそもそもできないことが含まれてるんで難解になる。
BASEとドメインの連携
- お名前.comでドメインを取得する
- お名前.comでサーバーを契約する
- ドメインをサーバーと紐付ける
- サーバー側でドメイン(www)のDNSをBASEの指定のやつに設定する
- BASEでドメイン(www)を設定する
DNSでは指定されたCNAMEを設定する。
BASE側でドメイン設定したら合わせてSSL導入も無料でやってくれる。
で、「独自ドメインでBASEを運営する」が前提なので、wwwなしへのアクセスをwwwありに飛ばす仕組みも作る。
wwwありへリダイレクト(SSL対応)
- 独自ドメインで無料SSLを契約する
- .htaccessでwww無しにリダイレクト設定(http、https両方)
- 念の為index.htmlでもwwwありへリダイレクト設定
独自ドメインは 無料SSLを使用できる。
さくらインターネットもお名前.comも「Let’s Encrypt」の案内がある。
これのいいところは、独自ドメインをやっとけばサブドメインもSSLが使えるっていう。逆に、サブドメインだけを無料SSLで運用したいっていうのは無理っていう縛りがある。ここが詰まりやすい。
また、一つ知識として持っておきたいのは、.htaccessで設定しようがmetaで設定しようが、まずアクセスして該当ページを読み込む。そこから転送が発生するわけで、転送設定を割り込ませることができない。だから、SSLを導入してなければhttpsにアクセスしたときにエラーを吐かれる。アクセス先がないからね。
SSLが一般的になるまではwww有無だけを切り替えてればよかったけど、SSLが一般的になったもんでアクセスがhttpなのかhttpsなのかも視野に入れとかないといけない。アクセスしたのに表示されませんでした、SSL入れてないんですねっていうのは、わかってる人じゃないと対応できないし、そうであっても面倒が勝つサイトへの流入はきついもんね。
.htaccessの転送はこんなイメージで。
- SSL無しへのアクセス→転送先URL
- SSL有りへのアクセス→転送先URL
やり方は色々あるけどSSL有無を問わずwww無しへのアクセスをwww有りに飛ばす内容になってれば大丈夫。
# example.jpの転送
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.jp$
RewriteRule ^(.*)$ https://www.example.jp/$1 [R=301,L]
これでいけるはず。ネットに転がってるのを使いまわしたら上手くいっちゃったんで、あんまり調べてない。
index.html上ではmetaのrefreshを使用して転送する。
<meta http-equiv="refresh" content="0;URL=【転送先URL】">
転送先はBASE側でSSLが適用されてるからhttpでもhttpsでもどっちでもいいけど、まあhttpsにしたほうが無難。
メール
WEBサイトの設定が済んだんで、あとは好きにメールアカウントを作ればOK。メール関係はBASEと絡まないんで、通常通りの設定でやっていけばいい。
注意点
お名前.comのドメインとサーバーの連携はできてもSSL申請が通らない場合がある。
サーバーと連携する前にドメイン側のDNS設定を既に何かしてたなら、それを削除することで解消する場合がある。道理としてはよくわからない。優先度はネームサーバーが勝ってるけどDNS設定も地味に効力があるみたいな、そんな感じか。「01.dnsv.jp」とかの消せないやつが残ってたら消そう。ドメインの管理画面上で設定内容を強制削除する項目がある。
一番下に書いてある。
コメント