構成
下記のように、各言語サイトへのリクエストをパスベースで 3 台の Web サーバーへ適宜ルーティング。
通信はすべて HTTPS。
前提
- 各言語のサイト用 Web サーバーが構築済みであること
- 各言語のサイトは WordPress 製
言語 | バックエンドのドメイン名 | エンドユーザーにアクセスさせる想定の URL |
---|---|---|
日本語 | jp.example.com | https://www.example.com/ |
中国語 | cn.example.com | https://www.example.com/cn/ |
韓国語 | kr.example.com | https://www.example.com/kr/ |
Application Gateway 作成
画面に従って適当に作成。
ここで設定するリスナーは、自動的に付与される名前がクソで、どうせ後で消したくなるので適当でよい。
Application Gateway 設定調整 (バックエンドプール)
バックエンド Web サーバーの DNS 名、もしくは IP アドレスを登録。
Application Gateway 設定調整 (HTTP設定)
(Application Gateway とバックエンド Web サーバー間の) HTTP 設定。
認証のため、バックエンドの Web サーバーに登録している SSL 証明書をアップロードして指定する必要がある。
接続ドレイン (サーバー退役時の接続維持) やCookie アフィニティ (スティッキーセッション) はお好みで。
Application Gateway 設定調整 (フロントエンドIP構成)
Application Gateway のパブリック IP を静的 IP とできないらしいので、DNS 名ラベルを設定して CNAME として指定するための DNS 名を固定。
例: xxxxxxxxxx.japaneast.cloudapp.azure.com
Application Gateway 設定調整 (リスナー)
こっちはクライアントと Application Gateway 間の通信設定。
SNI を使う場合はマルチサイト
、そうじゃない場合は Basic
でよいかと。
今回は Basic
で間に合う。
Application Gateway に登録する証明書を pfx
形式で登録。
Application Gateway 設定調整 (ルール)
ルーティングのルール。
パスベースでルーティングするのでパスベース
を押下してルール追加。
Web サーバーの設定調整
中国語、韓国語サイトのWebサーバーにおいて下記を調整。
- HTTP リクエストにおいて、パス指定にゴミ (
/cn
,/kr
) がついてくるので、うまいこと取り扱えるように調整 - Application Gateway から
Host
=www.example.com
としてリクエストが来るので、想定するバーチャルホストで取り扱えるように調整
Apache Httpd の場合
SSL の VirtualHost
にて、Alias
を追記。
<VirtualHost *:443> . . . ServerName www.example.com ServerAlias cn.example.com DocumentRoot "/var/www/public_html" Alias /cn /var/www/public_html . . . </VirtualHost>
NGINX の場合
まぁ、頑張って……。
server { . . . listen 443 ssl http2; server_name kr.example.com www.example.com; root /var/www/public_html; . . . location ^~ /kr { rewrite ^/kr/(.*)$ /$1 last; } . . . location ~ [^/]\.php(/|$) { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; . . . }
WordPress の設定調整
wp-config.php
. . . define('WP_HOME','https://www.example.com/cn/'); define('WP_SITEURL','https://www.example.com/cn/'); . . . .
さいごに
- Azure、初めて触ったけど、めっちゃ使いづらい……
- コンパネの時点でバグがちらほら
- OK ボタン押すたびに数分待たされる
- 待ってられるか! と進捗ガン無視して先に進むと、意味不明なエラーが連発したり、先の操作がしれっとシカトされたりする
- ドキュメントがダメダメってみんな言ってる
- 相応の事情がない限り、使わないほうがいいのでは