The remote server returned an error: (426) Upgrade Required


#1

i am getting this error from API call; any one has an idea how to fix it?

var httpWebRequest = (HttpWebRequest)WebRequest.Create(apiUrl + “/zones/” + dnsZoneId + “/dns_records/” + dnsRecordId);
httpWebRequest.ReadWriteTimeout = 100000;
httpWebRequest.ContentType = “application/json”;
//httpWebRequest.Accept = “/”;
httpWebRequest.Method = “GET”;
httpWebRequest.Headers.Add(“X-Auth-Email”, authEmail);
httpWebRequest.Headers.Add(“X-Auth-Key”, authKey);

        try
        {
            HttpWebResponse resp = (HttpWebResponse)httpWebRequest.GetResponse();
            string respStr = new StreamReader(resp.GetResponseStream()).ReadToEnd();
            var data = (JObject)JsonConvert.DeserializeObject(respStr);
            string currentIP = data["result"]["content"].ToString();
            return currentIP;

        }
        catch (Exception ex)
        {
            throw ex;
        }

#2

TLS 1.0 and 1.1 were permanently deprecated on June 4. I suspect you’re using something that still uses and old version of TLS.


#3

Our .net application is effected by this. What do we need to do to stop the “Upgrade Required” (426) error? Thanks


#4

As @sdayman wrote: some TLS versions are deprecated and 426 is a client error. It basically tells you that your software does not support the protocol that is used by the server. It must not be SSL. It could also be the HTTP version. Which is not the issue in this case here.

You either need to check your client settings if it supports newer versions, update your NET client or throw it away if the before mentioned is not possible.

TLS 1.0 and 1.1, SSLvX are broken, highly insecure and dangerous.

Both TLS versions were supported long enough so vendors and developers had enough time to change their software.