Order Now AdSolution Sign Up | Login » Bits on the Run Sign Up | Login »

Forums

/

HTTP Status 403; Forbidden Errors

5 replies [Last post]
Reply

We are getting semi-frequent reports from our end users seeing the following error on loading a page with a video player:

Task Queue failed at step 5: Playlist could not be loaded: HTTP Status 403; Forbidden

We're aware of the usual causes for this, from a server time mismatch to caching of old signed urls. We have confirmed neither of these are the issues on our site, and are not causing our users to see the 403 errors.

We believe that if the flash loads but experiences heavy system load, or the player gets switched to a background tab while loading, or loaded with a flash-blocker, the video times out after the player loads, but before the video has started streaming.

We've created a very simple test page, with one of our videos signed for a few months in the future.

Using a flash blocker is the quick and guaranteed way to cause the same issue, load the page but don't load the flash for a minute after the page has loaded, and then attempt to load it. It will return the error 100% of the time.

This can also be replicated by opening the page, and switch away from it to another tab after the player's javascript has loaded and the flash player has started initializing but before the video itself has loaded. Wait a minute and switch back. As this a time based issue it can take a few attempts to get the timing right, but we can make it happen over 50% of the time. We have also seen it happen on normal page loads, but haven't had much luck finding a replicable test case.

Sample Page
http://dl.dropbox.com/u/80013/test.html

Digging into the javascript that gets loaded by the player request we've noticed that its adding a "file" variable to the player that has its own expiry and signature, and the expiry is extremely short. We believe this is the root cause, and that this expiry should respect the expiry we called the player with.

For example, for a test I just ran on the page, the javascript includes the following line:

botr_yFxJaNRS_LR8NQkYw.addVariable("file","http://content.bitsontherun.com/jwp/yFxJaNRS.xml?exp=1326720572&sig=a9440ea47fe2e545572d036c0e7e325d");

Note the exp get variable is 1326720572, which works out to the same minute that I requested the video, despite the fact the main request isn't supposed to expire for ~4 months.

If there is anything further we could provide to help debug this, please let us know, and we'll get it to you promptly.

Isaac

Reply

Hi Isaac, it looks like the root cause is related to serverside caching on our end. I have asked our developers to look into this.

Reply

Any update or further information from the developers on this?

Reply

I prodded, they plan to look into this tomorrow.

Reply

The cause has been found, the fix has been put live.

Reply

Thank you.

Post new comment

  • Allowed HTML tags: <code> <blockquote> <em> <strong> <strike> <ul> <li> <ol>
  • You may post code using <code>...</code> .
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.

More information about formatting options