言語別URL機能がうまく動作しません
言語別URL機能では、Autolingualのプロキシサーバーがお客様のオリジンサーバーへリクエストを転送します。
そのため、オリジンサーバー側のセキュリティ設定・WAF・Bot保護によってプロキシからのアクセスがブロックされると、 ページが表示されない、エラーになる、翻訳が反映されないといった症状が発生します。
まずは以下の順にご確認ください。
#各種セキュリティやWAFの設定
Autolingualのプロキシからのリクエストがブロックされていないかをご確認ください。許可設定の方法は3通りあり、お客様の環境に応じていずれかをご利用いただけます。
#方法1: al-host Cookieによる識別(推奨・全プランで利用可能)
Autolingualのプロキシは、オリジンサーバーへ転送するすべてのリクエストに以下のCookieを付与します。
al-host=<言語別URLのホスト名>
Cloudflare等のBot保護をご利用の場合、このCookieの有無を条件にファイアウォールルールを作成することで、 Autolingualプロキシからのアクセスのみを許可できます。 IPアドレスの変動に影響されないため、最も安定した方法です。
#方法2: カスタムヘッダーによる識別
CloudFront等のCDNをご利用で、独自のシークレット値をヘッダーに設定して検証したい場合(例: X-From-CloudFront: <シークレット値>)にご利用いただけます。
Autolingualのプロキシは、標準では以下のヘッダーのみをオリジンへ転送し、それ以外のヘッダーは転送しません。
| ヘッダー | 備考 |
|---|---|
x-forwarded-for | 受信値にホスト名を追記 |
cookie | al-host=<ホスト名> を付加 |
user-agent / content-type / accept / accept-encoding / authorization | 受信値をそのまま転送 |
上記以外のヘッダーを転送する必要がある場合は、プロジェクトごとに追加の転送ヘッダーを設定できます。 ご希望のヘッダー名をサポートまでお知らせください。
- 転送されるのは、受信リクエストに実際に含まれていた値のみです。Autolingual側でシークレット値を保持することはありません。
- 設定変更の反映には最大10分程度かかります。またその間は、新旧の設定が混在して動作が安定しない場合があります。
#方法3: IPアドレスによる許可
プロキシサーバーからのアクセス元IPアドレスは以下のとおりです。
34.146.109.214
34.180.99.220
※ IPアドレスは将来的に変更される可能性があります。恒久的な設定としては、方法1(al-host Cookie)または方法2(カスタムヘッダー)を推奨いたします。
#あわせてご確認いただきたい設定
- アクセス頻度の制限(レート制限): プロキシからのアクセスは単一のIPアドレスに集約されるため、レート制限に抵触しやすくなります。 上記の許可設定でレート制限の対象外としてください。
- Basic認証・IPフィルタ ステージング環境等でこれらを設定している場合、プロキシからのアクセスもブロックされます。
- 地域(国)によるアクセス制限 プロキシサーバーは日本国内のリージョンから接続します。
#パス方式をご利用の場合
パス方式(例: https://example.com/en/)では、
お客様側のリバースプロキシ・CDNの設定によって、言語コードを含むパスのみをAutolingualのプロキシへ転送していただく必要があります。
/en/* /es/* → Autolingualのプロキシへ転送
/about /contact → お客様のサーバーが直接応答(プロキシを経由しない)
うまく動作しない場合は、以下をご確認ください。
#言語別URLにアクセスすると404・エラーページが表示される
- 転送設定が有効になっているか(言語コードのパスがAutolingualのプロキシへ向いているか)
- 管理画面で設定した言語コードと、実際にアクセスしているURLの言語コードが一致しているか
- 対象言語が管理画面で公開状態になっているか(非公開の言語のURLはご利用いただけません)
#元の言語のページまで表示がおかしくなる
転送設定の範囲が広すぎる可能性があります。元の言語のパスがAutolingualのプロキシへ転送されないよう、転送条件をご確認ください。
#言語コードを変更したあとURLが変わらない・リダイレクトされる
言語コードを変更した場合、旧コードへのアクセスは新しいURLへ301リダイレクトされます。設定の反映には最大10分程度かかります。
#サブドメイン方式をご利用の場合
サブドメイン方式(例: https://en.example.com)では、お客様側でDNSのCNAMEレコードを設定していただく必要があります。
en.example.com → language-proxy.autolingual.io
うまく動作しない場合は、以下をご確認ください。
#サブドメインにアクセスできない・名前解決に失敗する
- 対象言語すべてのサブドメインについてCNAMEレコードが設定されているか
- DNSの変更が反映されているか(反映まで時間がかかる場合があります)
#SSL証明書のエラーが表示される
言語別サブドメインに対応した証明書が必要です。ワイルドカード証明書(*.example.com)をご利用でない場合は、各言語サブドメインを証明書の対象に含めてください。
#「Invalid language code」と表示される
アクセスしているサブドメインが、管理画面で設定した言語コードと一致していません。管理画面の設定内容と、対象言語が公開状態になっているかをご確認ください。
#上記でも解決しない場合
以下の情報をあわせてサポートまでお知らせいただけますと、調査がスムーズです。
- 事象が発生しているURL(言語別URL)
- 発生日時と、画面に表示されているエラーメッセージ
- ご利用中のCDN・WAF・Bot保護サービス名(Cloudflare、CloudFront、さくらインターネット等)
- 特定のページのみで発生するか、サイト全体で発生するか