0

I am unfortunately saddled with a software package called Social Engine. Don't ever, ever buy it. It is extremely buggy and the tech support is beyond awful.

Anyway, I asked (paid even) them to do an upgrade and three days later (three days!) they finally did so. When I logged into the site I noticed that the styles were all missing. I opened a support ticket and all they told me was that it was a 416 error and to contact my ISP.

Since I am the ISP, I started doing my research only to find it's a rare error and I couldn't see any suggestions for turning range requesting off on my Ubuntu 10.10 Linode server (running latest Apache and PHP5 with APC extension installed).

this error was found by testing the direct link to the CSS files which are located in a themes folder in the buggy software.

http://ministersdev3.themonastery.org/application/css.php?request=application/themes/monastery-theme/theme.css&c=6

Is this indeed a server fix I can leverage somehow, or is it something their software may be doing that I would need to look into more?

Lynn
  • 299
  • 6
  • 16

1 Answers1

0

It's something about the way the request is being passed through the php; it's likely throwing an error or something, instead of serving up the right data.

Direct to the file seems to work: http://ministersdev3.themonastery.org/application/themes/monastery-theme/theme.css

But.. why would a css file need a partial transfer, anyway? Something else isn't working right, and I suspect the 416 is just masking the real issue.

A workaround to get the client to stop sending Range headers (I still can't imagine why it'd be doing that..) would be to block the header in Apache: Header unset Accept-Ranges. But, I think you'll find more issues after you get past this one.

Shane Madden
  • 112,982
  • 12
  • 174
  • 248
  • Hmmm...that sounds complicated. But like I said, the software is very buggy. I will use this suggestion as my next point of research. thanks. – Lynn May 05 '11 at 00:42
  • Yeah - try the `Header unset Accept-Ranges` and go from there. If the application does any decent logging (which is doubtful), that would be good to check too. – Shane Madden May 05 '11 at 00:47
  • Hahaha...it IS doubtful. Sad. – Lynn May 05 '11 at 00:47
  • So which file should I be editing to unset headers? root@li255-242:/etc# grep -R 'header' apache2 | more apache2/mods-available/reqtimeout.conf:# Wait max 10 seconds for the first byte of the request line+headers apache2/mods-available/reqtimeout.conf:RequestReadTimeout header=10-20,minrate=500 apache2/mods-available/proxy.conf:# Enable/disable the handling of HTTP/1.1 "Via:" headers. apache2/mods-available/proxy.conf:# ("Full" adds the server version; "Block" removes all outgoing Via: headers) – Lynn May 05 '11 at 01:04
  • apache2/mods-available/headers.load:LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so apache2/mods-available/mime.conf:# For files that include their own HTTP headers: apache2/mods-enabled/reqtimeout.conf:# Wait max 10 seconds for the first byte of the request line+headers apache2/mods-enabled/reqtimeout.conf:RequestReadTimeout header=10-20,minrate=500 apache2/mods-enabled/mime.conf:# For files that include their own HTTP headers: – Lynn May 05 '11 at 01:04
  • Well I tired that suggestion.... I put the Header unset call in sites-enabled default under the Directory part of the file. and nothing changed.... should I have also put it somewhere else? – Lynn May 05 '11 at 01:56
  • Nope, directory should work. So.. I think the php code is throwing that error; you should be able to confirm by checking what request headers are sent in something like Firebug or the Chrome developer tools. If there's no `Range` header sent by the client, then Apache would never throw a 416. I'd say get that confirmation, and throw it back at the developer, if you don't have the ability to debug it in-house. – Shane Madden May 05 '11 at 03:43