Azure

WordPress on App Serviceでデフォルトドメインからカスタムドメインへリダイレクトする方法

WordPress on App Serviceでカスタムドメインを設定したが、そのままではデフォルトドメイン(azurewebsites.net)でアクセスできてしまいます。
デフォルトドメインへのアクセスをカスタムドメインへリダイレクトする方法をまとめました。

手順は次の通りです。

  1. Nginxの設定ファイルを変更
  2. Nginxの設定ファイルをコピーするスクリプトの作成
  3. 2で作ったスクリプトをApp Service起動時に読み込むように設定

1.Nginxの設定ファイルを変更

Nginxの設定ファイルは/etc/nginx/conf.d/default.confですが、これを直接編集してはいけません。このファイルはApp Serviceが起動されるたびにデフォルトの設定に戻ってしまうからです。
そこで、このファイルを/home/にコピーして、そのファイルを編集します。

cp /etc/nginx/conf.d/default.conf /home/

コピーしたファイルを編集します。
このサイトを例にしますので、サーバー名は適宜読み替えてください。

server {
        listen 80;
        ## Your website name goes here.
        server_name shanch.net;
        if ( $host != $server_name ) {                                                        
                return 301 $scheme://$server_name$request_uri;                                
        } 

2.Nginxの設定ファイルをコピーするスクリプトの作成

編集した設定ファイルを/etc/nginx/conf.d/default.confにコピーして、Nginxを読み込ませるスクリプトを書きます。
/home/devにstartup.shというファイルを作り、内容を以下とします。

cp /home/default.conf /etc/nginx/conf.d/default.conf
/usr/sbin/nginx -s reload

/home/dev/startup.shを実行して、リダイレクトされるかテストします。

/home/dev/startup.sh

3.2で作ったスクリプトをApp Service起動時に読み込むように設定

Azure Portalで、Web-アプリの構成→全般設定のスタートアップコマンドに/home/dev/startup.shと入力して、保存する。

以上です。