AWS EC2 CentOS7
PHP 7.0.8
CakePHP 2.8.9
Apache 2.4.20
OpenSSL/1.0.2h
上記環境でWEBサービスを動作させています。
Apacheには複数のVirtualHostが設定されており、それぞれサブドメインで運用されています。
例)
example.com → /var/www/pro/htdocs
stg.example.com → /var/www/stg/htdocs
SSL証明書はワイルドカード証明書となっており、各VirtualHostで同じモノを使っています。
ここで、Windows7のChromeからメイン環境「example.com」へアクセスし、直後に「stg.example.com」へアクセスすると、表題の
「421 Misdirected Request」が発生し、正常な画面が表示されません。(421エラーの画面が表示されます)
ただし、数分程度待ってアクセスすると、問題なくアクセス出来ます。(正常な画面が表示されます)
調べていくと、「HTTP Alternative Services」の仕様において、応答不可能なリクエストが来た時に「ALT-SVC」メッセージが返答され、それが上手くさばけないと「421 Misdirected Request」が発生するらしいというところまではわかりました。
このAlt-Svcの結果はキャッシュされるようで、このキャッシュ時間を十分に短くすればいいんじゃないか?とも思ったのですが、デフォルトでは24時間キャッシュされるらしく、そうであれば数分で回避できるという点の説明がつかないかなぁと。
こちらの回避策についてご助言いただけないでしょうか。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。