HTTPS requests getting aborted after 2 seconds - google-app-engine

We have a deployed java application on GAE. We have enabled SNI SSL certificates. For the last few days, we have observed that that any HTTPS request that are taking more than 2 seconds are getting aborted by server (as reported by browser). This is consistently happening on FF, IE and Chrome on Windows XP, Windows 7 64bit & Safari and Chrome on Mac Mountain lion. The error that is shown on Chrome is "Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data", where in IE (v9.0) is throwing error 12152.
This was consistently reproduced by hitting a URL, mapped to a java servlet, which is made to sleep for >=2000 ms. The sleep interval was given as a request parameter and tried with varied value of 1000 to 5000 ms. The above mentioned error was thrown for all values >=1900 ms, while any thing less than that would not yield any issues.
However, there were no issues faced if the URL scheme is changed to HTTP.
GAE application logs did not show any error or any signs of new instance spawning off. We are App engine version 1.8.1 and java version is 6.
Any ideas to solve the issue would be immensely helpful.
Edit: The issue is only there for custom domains. It works fine for appspot domain. (xxxxx.appspot.com)
Sreejith

That error is widely known and is related to your internet cache (see the bug report for Chrome, for example).
After a quick search, everybody seem to agree that these solutions could fix the problem
clear your browsers cache (maybe use some external programs)
reset your browsers preferences to the default ones
uninstall and install again your browsers
Some other people suggest to perform a system restore, but that seems too extreme to me.

Related

My SOLR Admin page is infected by a XMR.OMINE.ORG virus, I don't know how to fix it

Strange thing happening to me.
Every time I load my SOLR admin page, the developer console shows me that a XMR.OMINE.ORG virus is trying to inject a JS in the page.
That happens 1000 times and makes the page hang.
What is strange is that it happens ONLY when I access the SOLR admin page and not with any other page on the same web server or an internet page.
I tried everything...nothing works.
Here is the console log:
A parser-blocking, cross site (i.e. different eTLD+1) script, , is invoked via document.write. The network request for this script MAY be blocked by the browser in this or a future page load due to poor network connectivity. If blocked in this page load, it will be confirmed in a subsequent console message. See for more details.
VM41 v7.js:1 [Violation] 'setInterval' handler took 280ms
VM1939 v7.js:1 WebSocket connection to 'wss://xmr.omine.org:8181/' failed: WebSocket is closed before the connection is established.
I tried:
Running AVAST for MAC -> the web shield detects the virus but the scan doesn't and it doesn't remove it
Malwarebytes for Mac -> nothing found or removed
Running antivirus on web server => ongoing
When I access it from another laptop => it works, no injection => CORRECTION, same problem on other machines, seems server-related
I'm lost, I can't run the SOLR admin and I have 504 errors on SOLR updates
Can you help me please?
Nico

Strange Behavior of $http/Ajax Calls on Windows Phone 8.1 App

I have been recently stuck into a strange issue, thrown by a Multi platform Hybrid App in Visual Studio App.. My Development Environment details are as follows :
Visual Studio 2013 Release 3
Cordova 4.0
Angularjs 1.4
Ionic 1.4
Nokia Lumia 1320 [Windows 8.1 OS]
I have a web app that will be interacting with the mobile app, deployed on a server machine that can be accessed both by an internal enterprise network, as well as from internet.
Now the problem is, when i am [the mobile device is] connected to the internal network, the $http call fails with a status code of 0. Internal dig down reveals that the actual returned status code is -1.
However, when i switch over to mobile data in the phone, the ajax call goes smooth and finishes successfully. Now, if i switch back to internal network, it again starts working perfectly. !!!!
The http call is quite simple and uses promise API... I also have some request interceptors.
Any explanations for this strange behavior, or more appropriately a solution for the same ??
After Scratching my head for over 2 days, i was finally able to conclude that it was my browser that was the culprit.
As i said, i was using Windows Phone 8.1, which uses Internet Explorer 11 as the default rendered. Also, My Web server was actually behind a Proxy Server [Apache HTTP].
Now, the Real problem was that the ajax call was returning response status code as 0. And the reason for that was that The Ajax Call was being suspended by The Apache HTTP Proxy Server, because of some tunneling issue. Please note that this was specifically happening with IE11 and Apache HTTP Server.
This was happening since I was using POST request on a HTTPS Based Proxy Server.
Now the solution is too non-technical, but that's what saved my life. In order to save your life from this issue, You must
1. Either convert your POST Request to GET Request
2. Or Before making a POST Request to the Server, make a GET Request to the same server.
In my case, i went with the second approach and it saved my life. Posting this as answer so that it saves someone else too.
You can refer to the following links for more details.
IE10/IE11 Abort Post Ajax Request After Clearing Cache with error “Network Error 0x2ef3”
Making XHR Request to HTTPS domains with WinJS

Temporary 503 and 404 for OpenShift hosted webapp

I deployed a webapp to WildFly 8.0.0 on OpenShift. The application currently has very few users, but works fine. I use a free OpenShift account (I don't know if it is relevant) with a single cartidge, for WildFly.
Sometimes, when I access the application I get 503 (sometimes) or 404 (most of the times) errors.
It seems that I get these errors if the application has not been used for some time (something like 2 or 3 days). For about a minute, if I reload the page I get the same error. But after about a minute, I do not get the errors any more, instead the application is correctly available.
It looks like OpenShift "disables" webapps if they have not been used for some time, then "re-enables" them as required (but displays 503 or 404 during the "re-enabling" of the webapps).
=> Is this a bug? Is this a well-known issue of OpenShift?
=> How can I prevent my webapp from being unavailable?
Regards
As diw stated, gear idling is part of the free plan and with the announcement of the bronze plan, you probably won't have to worry about that anymore.
However, if you want to stay on the free plan and if your application needs regular visits so you don't get those errors, you could setup a monitoring service (for example http://pingdom.com or http://uptimerobot.com) to check hourly and thus avoid having your gear idled. I found this out by accident when I moved a small personal site over to OpenShift and it never was idled due to the monitoring service hitting it.
On the free plan, OpenShift will idle any gears that have not received an external HTTP request or git push in 2 days, as per this FAQ.
If you are only using the 3 free gears, you can upgrade to the Bronze plan, which does not have any gear idling, and will not have any additional charges.

Random 500 errors on AppEngine

I have a fairly big application which went over a major overhaul.
The newer version uses lot of JSONP calls and I notice 500 server errors. Nothing is logged in the logs section to determine the error cause. It happens on JS, png and even jersey (servlets) too.
Searching SO and groups suggested that these errors are common during deployment. But it happens even after hours after deployment.
BTW, the application has become slightly bigger and it even causes deadline exception while starting few instances in few rare cases. Sometimes, it starts & serves within 6-10secs. Sometimes it goes to more than 75secs thereby causing a timeout for the similar request. I see the same behavior for warmup requests too. Nothing custom is loaded during app warmup.
I feel like you should be seeing the errors in your logs. Are you exceeding quotas or having deadline errors? Perhaps you have an error in your error handler like your file cannot be found, or the path to the error handler overlaps with another static file route?
To troubleshoot, I would implement custom error pages so you could determine the actual error code. I'm assuming Python since you never specified what language you are using. Add the following to your app.yaml and create static html pages that will give the recipient some idea of what's going on and then report back with your findings:
error_handlers:
- file: default_error.html
- error_code: over_quota
file: over_quota.html
- error_code: dos_api_denial
file: dos_api_denial.html
- error_code: timeout
file: timeout.html
If you already have custom error handlers, can you provide some of your app.yaml so we can help you?
Some 500s are not logged in your application logs. They are failures at the front-end of GAE. If, for some reason, you have a spike in requests and new instances of your application cannot be started fast enough to serve those requests, your client may see 500s even though those 500s do not appear in your application's logs. GAE team is working to provide visibility into those front-end logs.
I just saw this myself... I was researching some logs of visitors who only loaded half of the graphics files on a page. I tried clicking on the same link on a blog that they did to get to our site. In my case, I saw a 500 error in the chrome browser developer console for a js file. Yet when I looked at the GAE logs it said it served the file correctly with a 200 status. That js file loads other images which were not. In my case, it was an https request.
It is really important for us to know our customer experience (obviously). I wanted to let you know that this problem is still occurring. Just having it show up in the logs would be great, even attach a warm-up error to it or something so we know it is an unavoidable artefact of a complex server system (totally understandable). I just need to know if I should be adding instances or something else. This error did not wait for 60 seconds, maybe 5 to 10 seconds. It is like the round trip for SSL handshaking failed in the middle but the logs showed it as success.
So can I increase any timeout for the handshake or is that done on the browser side?

Calling a https WCF-Service from Silverlight 4 only works with fiddler and from VS2010

for days now, I try to get the following scenario running:
I have a Silverlight 4 Application that calls a WCF-Service via HTTPS. The WCF-Service is located on one of our servers, the Silverlight 4 app is also served from this server. After several hours of trial and error (well actually more error than try) I get it running when starting it from my VS2010 development environment on my local machine (see also SecurityError when calling a HTTPS-WCF Service from Silverlight 4).
But ...
The call to the https-WCF ONLY works when I start the SL-App from my VS2010 AND when fiddler is running and after I tell fiddler to ignore the Certificate Error (I use a self-signed certificate). When fiddler is not running, I get a security error. That applies, when my browser is the IE. When I copy the localhost address from the IE and paste it in my opera, it works without fiddler.
When I deploy the Silverlight app to the server and call it from the server, the WCF-call doesn't work, whether fiddler is running or not. I just get the standard Message, that an exception has occurred. This happens in both Opera and IE. Fiddler doesn't ask me to ignore the Certificate Error like it does in the VS2010 scenario, so maybe there is somewhere the key to my problem. Unfortunately, I have not much experiences with this stuff, so I have no idea, where to look or what to do.
I already found something about the fiddler issue here on stackoverflow ( Silverlight Requests, Failures & Fiddler), but it doesn't help me solving my problem.
I hope that some of you can shed some light in this issue, before all my hair is turned to gray.
Thanks in advance,
Frank
Edith has just installed the Certificate as a trusted Certificate in IE - but I still get the error, when calling the WCF when starting the deployed silverlight app from the server. At least I can call the Service when I start the SL app from VS2010 in the IE now (even when that doesn't help me, when some one else has to work with the app.
Several thoughts:
What is the exact error message you're seeing? Any inner exceptions?
Could this be a cross-domain issue? (Are the Silverlight XAP and the WCF service hosted from exactly the same domain, including its HTTP vs HTTPS characteristic, port number, distinction between "localhost" and an actual machine name, etc? What is the exact address as it appears in ServiceReference.ClientConfig or in code, and does its domain name exactly match the XAP's domain name?)
Do you see any call attempting to go through in Fiddler at all when it fails? (If not, I would strongly suspect a cross-domain issue)
If you manually browse to the https://....../YourService.svc from IE/Opera (instead of invoking the service through code in Silverlight), can you successfully see the service information page, with no certificate warnings/errors?
Does your SSL certificate has the same name as your service host? If not, that causes an error which can lead to the described behavior

Resources