4

Our ssl-website https://www.redmedical.de cannot be displayed in IE11 (dnserror.html - page cannot be displayed). All (all!) other browsers can!

Our webserver is a node.js app with default cipher settings. The certificate is enhanced and valid (as you can see in Chrome, FF, Safari, Opera, ...)

Any hint what is going on here? I have tried to change the cipher settings with no success. All hints in the web aim at browser settings, dispite the fact that they all do not work, there must be an solution on the server side. I don't think that people will change there browser settings for our site...

Thanks for any help

heinob
  • 19,127
  • 5
  • 41
  • 61
  • I know it should be possible with node.js, but for performance and security reasons: Why not use a suitable webserver in front of node.js? – TheHippo Dec 18 '13 at 20:31
  • 3
    @heinob That's the most ridiculous thing I've ever heard. You're comparing apples to oxygen. – Brad Dec 18 '13 at 22:08
  • @heinob You're going to have to debug your problem a bit further. Use Fiddler and Wireshark to see what's actually going on. It's probably not a DNS issue. Also note that different browsers trust different certificate authorities. – Brad Dec 18 '13 at 22:10

1 Answers1

6

IE doesn't like the Content-Encoding: deflate header that you're sending.

When set to Content-Encoding: gzip, it seems to work.

How have you implemented HTTP compression? It appears to be broken. If you're using Express, there is compression middleware that you should probably use instead of rolling your own.

Also, you're also applying HTTP compression to images, which is a big no-no.

Community
  • 1
  • 1
josh3736
  • 139,160
  • 33
  • 216
  • 263
  • No, we are using the native deflate implementation of node, but there is a known issue with MSIE/node-deflate. So one has to switch to gzip if MSIE is detected. We did that, but what was wrong on our site, was the MSIE detection. IE11 changed the agent string, so we had to adapt that. Images are no longer compressed, too. So many thanks. One question left: How did you find out the cause of the problem? – heinob Dec 19 '13 at 06:58
  • 2
    @heinob: You shouldn't be using UA string detection to control HTTP compression -- that's what `Accept-Encoding` is for -- and [**you shouldn't use `deflate` compression at all**](http://stackoverflow.com/q/388595/201952). Use gzip if it is in `Accept-Encoding`. To discover the problem, I used [Fiddler](http://fiddler2.com/) to examine and modify the HTTP requests and responses. When I changed the `Content-Encoding` header, IE worked. – josh3736 Dec 19 '13 at 15:46
  • Thanky you very much for this Answer. Saved us a lot of work! – Rip-Off Apr 29 '14 at 12:06
  • Also note older versions of compression will not default gzip over deflate in newer node versions (12+). If you are having trouble with IE (reports itself as dnserror), check which compression lib you are using. Just ran into this when we upgrade from node 10.x to 14.x. It was a stale compression lib that was in play. – Matthew Payne Jan 05 '21 at 22:00