用户使用我们的客户端与我们的服务器进行身份验证时遇到 4XX 错误

用户使用我们的客户端与我们的服务器进行身份验证时遇到 4XX 错误

我目前正在调试一个用户无法与我们的身份验证服务器通信的问题。这个问题对我们很重要,因为这是一个用户的问题,随着我们的发展,这个问题可能会演变为更多用户的问题。

这是我用来调试他的问题的方法。

List<string> headers = new List<string>();
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
webRequest.CookieContainer = new CookieContainer();
webRequest.AllowAutoRedirect = false;
using (HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse())
{
    headers.Add("Status Code: " + (int)webResponse.StatusCode);
    headers.Add("Status Desc: " + webResponse.StatusDescription);
    foreach (string key in webResponse.Headers.Keys)
    {
        if (!key.ToString().Equals("Location"))
        {
            var value = webResponse.Headers[key];
            headers.Add(key + ": " + value);
        }
    }
}
// Try-catch statements here, which print out "Error Message: " + ex.Message

当他请求我们的服务器时我收到的错误是:

在此处输入图片描述

此外,我使用了不同的HTTP(S)协议和webRequest.XXXXX设置,但无济于事——错误都在40X范围内。

在此处输入图片描述

我知道这类4XX状态代码是用于客户端似乎出现错误的情况。

403 Forbidden表示该请求是有效请求,但服务器拒绝响应。

407 Proxy Authentication Required表示客户端必须首先向代理进行身份验证。

有一件事我不太确定,那就是这个问题的罪魁祸首是谁?是:

  1. 用户的防火墙设置?
  2. 我们的身份验证服务器的设置拒绝了该用户?
  3. 请求设置?

之前有人在帖子中建议我让用户安装 Fiddler 来嗅探请求和响应,但我觉得让他配置 Fiddler 要求您接受的内容以使用其某些功能(例如 HTTPS)有点不方便。还有其他方法可以调试吗?

相关内容