Azure LBを通してDigest認証がうまくいかなかった時の対応

お仕事でサーバーの設定をしたので忘備録的な話。

Azure上の2台構成のWebサーバーに対して設定していたDigest認証がうまくいかなかったと言われ。。

[Wed Oct 05 19:27:09.166831 2016] [auth_digest:error] [pid 32052] [client 192.168.45.174:60598] AH01776: invalid nonce aixFnRs+BQA=3ec1f113a98be1e2eb27e235bebc617fafcd070b received - hash is not 74d2414f23684029f9fd73ae2c0baabd8851d8f8
こういうエラーが出てしまいまして
https://curecode.jp/tech/amazon-elb-and-digest-auth-problem/ ↑はAmazonのケースですが
ロードバランサー経由で複数台のウェブサーバを使っていることが理由と推測しているのですが、
Azureのサーバで↑に相当するような、設定は無いでしょうか?

ふむ。そもそもDigest認証ってなんぞと。

Digest認証 - Wikipedia

なるほど。要するにLB通すことで最初に認証したサーバーと違うサーバーにアクセスしたらDigest認証はうまくいかないと。
だからLBにそういう設定をしないといけないと。
(そういう要件聞いてないってのは置いといて)

Amazon ELB と Digest 認証の組み合わせがうまくいかない | キュア子の開発ブログ

頂いたリンクによるとAmazonのELBではcookieの設定変えて接続先を維持すればおkと。

AzureのLBではcookie使ってんのかは知らんけど、 LBの先の接続先サーバーを維持するには
ロードバランサーの設定から「負荷分散規則」→「セッション永続化」の設定で
「クライアントIP」か「クライアントIPとプロトコル」か選択すればおk。

これでDigest認証の問題も解決