#asp.net #cloudflare
#asp.net #cloudflare
Вопрос:
Мы используем Cloudflare для их DNS и HTTP прокси. Сегодня мы заметили некоторое странное поведение, связанное с обратными отправками и перенаправлениями.
У нас есть главная страница для нашей системы администрирования с текстовым полем и кнопкой. Пользователь вводит идентификатор и нажимает кнопку, а затем мы перенаправляем его на покупку в нашей системе (на этой странице покупки используется та же главная страница).
Вот последовательность событий:
- Поиск покупки с идентификатором 123456 (правильно перенаправлен на 123456)
- Поиск покупки с идентификатором 123457 (перенаправлен на 123456)
- Поиск покупки с идентификатором 234567 (перенаправлено правильно 234567)
- Поиск покупки с идентификатором 123457 (перенаправлен на 123456)
Мы впервые попробовали это на локальном и не смогли воспроизвести поведение. Затем мы попытались проверить СООБЩЕНИЕ, чтобы увидеть, отправили ли мы неверное значение. После открытия Fiddler для проверки запроса проблема полностью исчезла. Затем я закрыл Fiddler и использовал Chrome tools для проверки сообщения и увидел, что отправляется правильный идентификатор.
Затем мы подумали, что это может быть как-то связано с Cloudflare, и поэтому отключили HTTP-прокси Cloudflare. После этого все работало так, как ожидалось.
Кто-нибудь еще сталкивался с этим раньше, и если да, то что мы можем сделать, чтобы исправить проблему? Ниже приведен мой код:
Код кнопки:
<asp:Panel runat="server" DefaultButton="btnQuickJumpPurchase" class="row hide-for-small">
<div class="four columns offset-by-two">
<asp:TextBox ID="txtQuickJumpPurchase" CssClass="left nine" placeholder="Purchase ID" runat="server"></asp:TextBox>
<asp:Button ID="btnQuickJumpPurchase" runat="server" Text="Go" OnClick="btnQuickJumpPurchase_Click" CssClass="right button green small radius" />
</div>
<div class="two columns"></div>
Обработчик события OnClick
protected void btnQuickJumpPurchase_Click(object sender, EventArgs e)
{
int quickPurchaseId = 0;
int.TryParse(txtQuickJumpPurchase.Text, out quickPurchaseId);
if (quickPurchaseId == 0)
HttpContext.Current.Response.Redirect("/admin");
else
HttpContext.Current.Response.Redirect($"/admin/purchases/purchase.aspx?id={quickPurchaseId}");
}
Комментарии:
1. Мы сталкиваемся с тем же поведением здесь. И мы пока не имеем понятия. При отключении cloudflare все в порядке, при включении перенаправления работает только после попытки опубликовать 3 раза или около того. Также, как только он перенаправляет его правильно, он продолжает перенаправлять правильно.
2. @Saab это только начало происходить с вами сейчас, или вы испытывали это с момента перехода на Cloudflare?
3. Вчера это сработало. И сегодня мы начинаем получать жалобы.
4. То же самое с нами. Вы случайно не размещены в Azure?
5. Проблема, с которой мы столкнулись, была решена с помощью cloudflare. Так что, возможно, это тоже решено для вас.