要点
- 問題
- 「常時接続」をONにしても、php-cgi.execが10分~20分ぐらいのアイドル状態を経ると消える
- 理由
- 「HTTPSのみ」をONにしていたが、常時接続と同時に有効にすると常時接続が機能しなくなるため
- 常時接続は5分ごとに
/
に対してPINGリクエストを行うが、これが常にHTTPに対して行われる。HTTPSのみにするとPINGリクエストに対して302レスポンスが応答として返されるようになり、結果常時接続の機能が失われる
- 常時接続は5分ごとに
- 「HTTPSのみ」をONにしていたが、常時接続と同時に有効にすると常時接続が機能しなくなるため
- 回避策
- Google Apps ScriptやAzure Functionなどで定期的にURLのトップページをリクエストする
- 参考URL
以降、愚痴
- 常時接続を有効にしていたが、なぜかKuduでプロセス一覧を見るとphp-cgi.exeはいつも消えていた
- そういう状態でページにアクセスすると、明らかに遅い(表示まで数秒かかることもざらにある)
- ぶっちゃけそういうもんだと思っていた
- しかし一度調べ始めると、現状がおかしいことが判明
- web.configを使った回避方法やIIS Managerを使った回避方法をやってみたが、うまくいかず
- 常時接続 + HTTPSのみ + 認証/承認 という3つとも使っている構成だったので、より罠にはまったらしい
- 認証/承認 を使うと、HTTPSのみをOFFにしてもHTTPSを強制的につかうっぽい