Understanding a 400 bad request only on chrome - c#

I get this error with my .Net app but it only occurs on chrome on 2 pages on my site and only on my network.
What does the notes in the image mean? If I hit refresh it works fine. How do I figure out what the headers are and if it's a network or security thing?

Clear your cookies. This must be caused by an invalid cookie. Had the same issue and clearing the cookies worked for me

Followings can be possible options to look at:
As you getting issues in Chrome, clear cache/cookies
Error 400: The Web server thinks that the data stream sent by the client (e.g.
your Web browser) was 'malformed' i.e. did
not respect the HTTP protocol completely. So the Web server was
unable to understand the request and process it.
It indicates that the two systems (our robot and the Web server)
fundamentally disagree on the syntax of HTTP data streams. Mare sure you are not calling HTTPS from HTTP?
Hope this helps!

Related

Getting 403 when executing request from amazon server

Very same code works fine from other locations, but whenever is run from amazon server it gets 403.
We tried "everything":
checking with postman
copying cookies
copying / not copying the headers.
whatever we do we get 403 when code / request is run from amazon server. What is even more interesting: browsers work fine (you can get to the same link from any browser without any errors). So the conclusion is like "something blocks requests that are not sent with the browser and we can't impersonate aby browser".
thanks in advance!
PS as far what i know it's fine from some other hosting services, only Amazon seems to be blocked.
Requests are not passed from any app / any language, including Postman but they're fine when any browser is used. So it's like "something" detects the original source of request and if request comes from amz "it" blocks the request. Everything is fine when not used from amz servers)
You can send your request to https://requestbin.com/ to analyze better what is going out from the Program and then change the missing parameters.

How can I debug 502 errors on my ASP.NET web application in Azure?

I'm wondering if any of you can recommend some steps for how I can debug
502 - Web server received an invalid response while acting as a
gateway or proxy server. There is a problem with the page you are
looking for, and it cannot be displayed. When the Web server (while
acting as a gateway or proxy) contacted the upstream content server,
it received an invalid response from the content server.
errors in my web app that is hosted on Azure. The problem is that I cannot consistently reproduce them and they seem to magically go away given enough time. For example, I was getting them sporadically on Friday, but after leaving my site up all weekend it was working fine today ... until I deployed it again with changes that can't possible effect the server (basic presentation-level changes). Sometimes I get 502 for static assets such as images.
How can I figure out what is going on here?
My answer seems a bit late but perhaps this article may help.
Troubleshoot HTTP errors of "502 bad gateway" and "503 service unavailable" in your Azure web apps
The article suggests three specific tasks:
Observe and monitor application behavior
Collect data
Mitigate the issue
Perhaps these suggestions are helpful when hosting in Azure but from my perspective the content isn't very deep.

Data Power Connectivity Errors

All
At times, when sending a request to our web service DataPower sends failure alerts wit the below error codes/messages
0x01130006: Failed to establish a backside connection
0x01130011: Failed to process response headers
I am not sure why this is happening, but I would guess the request is too big to process by DataPower, times out, and sends failure messages to the application.
I found a forum suggesting to increase the thread count max on the Websphere servers, but it was never confirmed to be a working [or non working] solution.
I would like to know if someone has successfully resolved this issue with the above mentioned solution, or what other successful solutions are there.
Thanks
Might be that someone trying to reach not excited uri .
The error say faild established backside connection.
There could be several reasons for it namly,
1. You have conflicting routing information in datapower routing table about back end systems. In this case appliance will sometimes able to connect with backend and sometimes not.
2. The backend server is not able to respond in appropriate time [try to increase the 'back side timeout value].
To accuratly debug the issue you need to post the packet trace between datapower and backend systems [along with src and target IPs you are connecting to].
Are you also using load balancer on datapower to connect with backend?
Ajitabh

View WebRequest XML

I'm having a strange issue - I saw a similar post on this forum, but it didn't have an answer.
Long story short, I am sending an HttpWebRequest using C# to a web service (stubs were created by adding a web reference in Visual Studio 2008, .NET 2.0) which breaks with the following message: "Unable to parse the incoming request". This is a java based webservice running on weblogic.
Here is the strange part, if I have fiddler running to monitor my request - IT WORKS FINE!!??
My theory is that fiddler is reformatting the request in some manner which the server likes?
Does anyone know what .NET could be doing to the request which fiddler could be fixing?
If not, is there a way I can view my XML programmatically without using fiddler?
Caveat - I do not have access to make changes to the server hosting the web service.
Thanks,
Steve
UPDATE - When I remove the "Decrypt HTTPS traffic" option in fiddler it no longer works. So whatever fiddler is doing to decrypt the HTTPS traffic is what is making this work....
Use Wireshark to see what's going on at the network packet level - that's as definitive as it gets!
(One caveat, which I think is true for Steve but might not be for other readers: this assumes your web service is on a different machine, so that there is some physical network activity to monitor - Wireshark won't help if it's all running on your local machine.)
Steve,
I had exactly the same symptoms when I was debugging web proxy I was developing. It turned out that Fiddler was correcting the CRLF (\r\n) chars that go after the last byte of last header and before first byte of request body. According to HTTP spec, there should be exactly two CRLFs and my proxy was adding three of them there (due to a bug) and Fiddler was silently correcting this.
Not sure if this is the same problem in your case, as you are using proxies, but maybe it will help you somehow.

Can an ASP.NET HttpHandler handle an http 400 - Bad Request?

We have an HttpHandler that deals directly with binary posts over HTTP from custom client software. The client software occasionally sends data which results in IIS 7 responding with a 400 - Bad Request. Since the "400 Bad Request" is special in that HTTP.SYS transparently handles it in kernel mode without notifying user mode of anything, no errors are raised to be handled in ASP.NET. Is it possible to catch this http 400 in ASP.NET, so that I can write specific data to the Response stream in these scenarios? A redirect to another page isn't an option as it needs to be in the current Request/Response.
If you know what is causing the 400, then you may be able to customise the behaviour of http.sys via the registry to deal with it:
http://support.microsoft.com/kb/820129
However, you should be aware that there are potential security and performance ramifications of doing this.
Another option would be to use a filtering proxy before IIS, thereby capturing the request before it goes any further.
I would instead ask them to fix the custom client software. Give them a report showing the failed requests. If you are able to, run a sniffer such as Wireshark and send them the packets if they do not believe the problem is with their software.
If your custom client causes IIS to trigger HTTP 400, it's probably flawed and is not submitting valid HTTP requests according to the standard. If you can alter the client, it would be the right thing to do. Otherwise, what you're working with is not HTTP, and IIS is designed to handle HTTP requests. Therefore, you should run a custom server for your own protocol (which is a non-standard HTTP like thing).
It's not advised to use IIS/ASP.NET to handle such a request as it might cause some weird unexpected things to happen.

Categories