nakamurakko’s diary

仕事で覚えたこと、勉強したことを自分のメモ代わりに書いていこうかなと。

Azure App Serviceに好きなドメインを設定したい

Azure App Serviceは<Webアプリ名>.azurewebsites.netでアクセス出来るけど、自分の好きなドメインを付けたいということで設定してみた。

ドメイン(Domain)を準備

まず、好きなドメインを準備する。準備する方法は、

  1. ドメイン管理会社で購入する。
  2. Azureで、App Service ドメインを購入する。

の2通りが思いつくけど、今回はドメイン管理会社で購入してから作業を進めることにした。 (ちなみに、App Service ドメインの購入は、ここで書いているので、参考にしてもらえればと。)

ドメイン管理会社側の設定

利用しているのは「お名前.com」なので、まずドメインを追加購入した。その後、購入したドメインに、下記のようなDNSレコードを追加する。

ホスト名 TYPE VALUE
www.<購入ドメイン> CNAME <Webアプリ名>.azurewebsites.net

購入ドメインにホスト名「www」を追加する(ホスト名は何でも良い。好きなものを付ける)。TYPEは「CNAME」を選択して、「<Webアプリ名>.azurewebsites.net」を指定する。 これで、www.<購入ドメイン>にアクセスした時、<Webアプリ名>.azurewebsites.netに飛ぶようになる。 よし、お名前.comで設定出来たぞと思ってアクセスしても、この時点ではこんな感じにエラーが出る。

f:id:nakamurakko:20200121231241p:plain

なので、Azure側でも設定を追加する。

Azure App Service側の設定

Azure側でも設定は、チュートリアル:既存のカスタム DNS 名を Azure App Service にマップするを参考に設定する。

App Serviceのカスタムドメインで、「カスタムドメインの追加」をクリックする。

f:id:nakamurakko:20200121231252p:plain

お名前.comで設定したドメイン、ホスト名を入力して、「検証」ボタンをクリックする。

f:id:nakamurakko:20200121231304p:plain

検証に問題が無ければ、「検証」ボタンの下に「ホスト名レコードタイプ」が出てくる。今回はお名前.comで「CNAME」で登録しているので、「CNAME」を選択して「カスタムドメインの追加」ボタンをクリックする。

f:id:nakamurakko:20200121231331p:plain

カスタムドメインに追加された事を確認したら設定は完了。

Apache、Laravelの設定

今回用意したApp ServiceはLaravelをApacheで動かしているので、設定ファイルも修正している。

httpd.conf (Apache)

ServerName www.chachat.io:80

ServerName<Webアプリ名>.azurewebsites.netからwww.<購入ドメイン>に変更した。

.env (Laravel)

APP_URL=http://www.chachat.io

APP_URLも同様に変更。

確認

設定が終わったらブラウザーでURLを入力して、アクセス出来れば完了。

f:id:nakamurakko:20200121231400p:plain

その他

DNSのレコードタイプ

DNSの設定でTYPEを「A」で設定する場合、Azure側はチュートリアル:既存のカスタム DNS 名を Azure App Service にマップするA レコードのマップを参考にしながら設定するといいとだろう。 AWSのElastic IPとは違い、App Serviceを削除するとグローバルIPアドレスは変わってしまう(はず)ので、App Serviceの作成と削除を繰り返す今回は、CNAMEの手順でやってみた。

セキュリティ

他でも書いたけど、Azure Service証明書は金銭的に余裕があればやってみる…。