# Discourse CDNs are blocked by privacy badger

**URL:** https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127
**Category:** Site feedback
**Created:** [2. Juli 2014 um 20:03 UTC](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127 "2014-07-02T20:03:36Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![downey](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/downey/32/166878_2.png) [@downey](https://meta.discourse.org/u/downey)
#### Post date: [2. Juli 2014 um 20:03 UTC](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127/1 "2014-07-02T20:03:36Z")

</div>

Any reason why I’m getting a blank page here on meta for most things other than error pages, like, `/latest`, `/top`, `/badges`, any any categories?

If I start a new browser session and sign in again, everything’s back to normal.

---

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [2. Juli 2014 um 20:36 UTC](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127/2 "2014-07-02T20:36:25Z")

</div>

Are there any javascript errors in the web console?

---

<div class="post-metadata">

### Author: ![downey](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/downey/32/166878_2.png) [@downey](https://meta.discourse.org/u/downey)
#### Post date: [2. Juli 2014 um 20:53 UTC](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127/3 "2014-07-02T20:53:40Z")

</div>

Hmm, yep. Looks like a Chrome extension blocking blocking the CDN used by meta? ([worldssl.net](http://worldssl.net))

> ```
> GET https://global.discourse-cdn.com/meta/cdn_asset/meta_discourse_org/preload_…30b1734bc94f05842624f3b2c157d2b.js?origin=https%3A%2F%2Fmeta.discourse.org net::ERR_BLOCKED_BY_CLIENT meta.discourse.org/:53
> GET https://global.discourse-cdn.com/meta/assets/locales/en-6e73f546e2a6ce32bf6435a634ef4552.js net::ERR_BLOCKED_BY_CLIENT meta.discourse.org/:54
> GET https://global.discourse-cdn.com/meta/cdn_asset/meta_discourse_org/vendor-82d6e086e6c992e9ff65e049b9709b25.js?origin=https%3A%2F%2Fmeta.discourse.org net::ERR_BLOCKED_BY_CLIENT meta.discourse.org/:55
> GET https://global.discourse-cdn.com/meta/cdn_asset/meta_discourse_org/applicat…758574dc41be1e5cd563f6946eb1617.js?origin=https%3A%2F%2Fmeta.discourse.org net::ERR_BLOCKED_BY_CLIENT meta.discourse.org/:56
> GET https://global.discourse-cdn.com/meta/assets/browser-update-d6b4c101a8a727a965bedc8d952539b3.js net::ERR_BLOCKED_BY_CLIENT meta.discourse.org/:242
> Uncaught ReferenceError: PreloadStore is not defined (index):197
> Uncaught ReferenceError: Ember is not defined (index):224
> Uncaught ReferenceError: Discourse is not defined (index):230
> 
> ```

**Update:** Looks like [EFF’s Privacy Badger](https://www.eff.org/privacybadger) extension no longer likes meta’s CDN. I disabled it for the site.

---

<div class="post-metadata">

### Author: ![vi0oss](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/vi0oss/32/108767_2.png) [@vi0oss](https://meta.discourse.org/u/vi0oss)
#### Post date: [24. März 2016 um 00:13 UTC](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127/4 "2016-03-24T00:13:50Z")

</div>

Thanks, resolved my problem as well.

I think Discourse should be more proof to partially blocked JavaScript, cookies, old browsers, etc. and should show messages (at least into console) what does it want.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [24. März 2016 um 00:17 UTC](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127/5 "2016-03-24T00:17:46Z")

</div>

What was your specific problem? It’s unclear. Can you specify what it was, exactly?

---

<div class="post-metadata">

### Author: ![vi0oss](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/vi0oss/32/108767_2.png) [@vi0oss](https://meta.discourse.org/u/vi0oss)
#### Post date: [24. März 2016 um 11:04 UTC](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127/6 "2016-03-24T11:04:52Z")

</div>

PrivacyBadger was blocking something like `cdn.discourse.org` (the name may be not exact). Because of that the page was OK when I first opened it, but as soon as I logged in, I saw only little drib (a few unstyled links) on blank page, with `Uncaught ReferenceError` things in console (like above).

Googling for `Uncaught ReferenceError: PreloadStore is not defined` led me here, where I discovered that the issue is the conflict with PrivacyBadger. It auto-detected “red” status for that CDN domain: block not just cookies, but everything from this domain. Normally PrivacyBadger assigns “yellow” status for CDNs (block cookies, but allow using content). Maybe requests from other Discourse forumns to the CDN it looked “personalized”, with some IDs…

Disabling the badger on [that site](https://forum.safenetwork.io) revealed the page, features of logged in user worked.

Shall I try filing an issue to PrivacyBadger developers or it has happened “by design”?

---

<div class="post-metadata">

### Author: ![eviltrout](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/eviltrout/32/5275_2.png) [@eviltrout](https://meta.discourse.org/u/eviltrout)
#### Post date: [24. März 2016 um 14:27 UTC](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127/7 "2016-03-24T14:27:56Z")

</div>

I’m not sure about Privacy Badger but uBlock will list assets it blocks in the console. So if something innocuous like `cdn.discourse.org` is blocked you could see it there.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [24. März 2016 um 15:54 UTC](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127/8 "2016-03-24T15:54:16Z")

</div>

I know @mpalmer was looking at Privacy Badger, no idea why it would decide a cdn had to be blocked.

---

<div class="post-metadata">

### Author: ![downey](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/downey/32/166878_2.png) [@downey](https://meta.discourse.org/u/downey)
#### Post date: [24. März 2016 um 16:19 UTC](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127/9 "2016-03-24T16:19:19Z")

</div>

Here’s the current state of Privacy Badger on meta:

 ![](https://global.discourse-cdn.com/meta/original/3X/7/9/7910f61065b30a5d8d4d1503d360f0e4b01cf873.png)

---

<div class="post-metadata">

### Author: ![vi0oss](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/vi0oss/32/108767_2.png) [@vi0oss](https://meta.discourse.org/u/vi0oss)
#### Post date: [24. März 2016 um 21:31 UTC](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127/10 "2016-03-24T21:31:00Z")

</div>

Happened again on [internals.rust-lang.org](http://internals.rust-lang.org).

The domain in question is [cdn-business.discourse.org](http://cdn-business.discourse.org). Switching it to yellow (block cookies) resolved issue.

Maybe URIs there look too “high-entropy”, as if [cdn-business.discourse.org](http://cdn-business.discourse.org) collecting info from all Discourse deployments:

> [https://cdn-business.discourse.org/stylesheets/desktop\_cb86e901615de41fa28188c7ca3d6a4bb805d9d5.css?\_\_ws=internals.rust-lang.org](https://cdn-business.discourse.org/stylesheets/desktop_cb86e901615de41fa28188c7ca3d6a4bb805d9d5.css?__ws=internals.rust-lang.org)

Can Discourse main page/script detect omissions of it’s assets and show some message like

> Some Discourse assets are blocked. Please review your browser settings, in particular NoScript, PrivacyBadger and other ad-blocking or policing addons. Check browser’s Javascript Console. Try another browser. If the problem persists, ask on [meta.discourse.org](http://meta.discourse.org).

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [24. März 2016 um 21:43 UTC](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127/11 "2016-03-24T21:43:04Z")

</div>

Not sure, @mpalmer is the resident Privacy Badger expert… I thought we set whatever policy file PB was looking for on the CDN. If you’d like to research this further and provide details @vi0oss that’d be helpful.

---

<div class="post-metadata">

### Author: ![vi0oss](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/vi0oss/32/108767_2.png) [@vi0oss](https://meta.discourse.org/u/vi0oss)
#### Post date: [25. März 2016 um 00:16 UTC](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127/12 "2016-03-25T00:16:18Z")

</div>

In general, when something goes wrong with Discourse loading process (due to PrivacyBadger, NoScript or another reason), I see the blank page. I think this is not good UX.

I have:

- No JS - Limited nojs Discourse
- Partial JS - blank (or almost blank) page
- Full JS - Fully featured Discourse

I want:

- No JS - Limited nojs Discourse
- Partial JS - Limited nojs Discourse and/or error message explaining what asset could not be loaded (or another problem)
- Full JS - Fully featured Discourse

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [25. März 2016 um 00:22 UTC](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127/13 "2016-03-25T00:22:10Z")

</div>

I don’t care. What I care about is why Privacy Badger doesn’t like our CDN.

---

<div class="post-metadata">

### Author: ![DeanMarkTaylor](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/deanmarktaylor/32/102462_2.png) [@DeanMarkTaylor](https://meta.discourse.org/u/DeanMarkTaylor)
#### Post date: [25. März 2016 um 01:40 UTC](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127/14 "2016-03-25T01:40:20Z")

</div>

For me - having a clean band new Google Chrome profile and installing Privacy Badger does not have any issues for meta:

 ![](https://global.discourse-cdn.com/meta/original/3X/d/d/ddd69704dd76a4c5a784182c6e5da89dbc756e06.png)

EDIT:  
Also tested in Firefox:

 ![](https://global.discourse-cdn.com/meta/original/3X/2/c/2c4da1e903698a932b90d18683d39989d1b783e9.png)

* * *

I also completed the sign up process on `internals.rust-lang.org` using the same clean Google profile:

 ![](https://global.discourse-cdn.com/meta/original/3X/c/8/c8861f9156ac349f89a167552db86a093e18a2da.png)

Note that it lists “2 potential trackers”, although they are not blocked.

* * *

Be aware that Privacy Badger has no “Clear Settings” or “Reset Settings” option…  
… so any adjustments or customisations you make currently cannot be undone in your profile.

Thus the only way to test the experience of other users is to create a clean fresh new Google Chrome profile.

However it’s also worth noting that Privacy Badger now includes heuristic based detection so there might be an event that happens to cause a domain to get flagged.

---

<div class="post-metadata">

### Author: ![vi0oss](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/vi0oss/32/108767_2.png) [@vi0oss](https://meta.discourse.org/u/vi0oss)
#### Post date: [25. März 2016 um 01:53 UTC](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127/15 "2016-03-25T01:53:00Z")

</div>

As far as I know, PrivacyBadger is stateful. It judges the domain “behaviour” based on requests to it and can flip it’s green-yellow-red switch automatically in background based on heuristics.

Maybe to properly reproduce the issue one should try to use (and log in to) multiple independent Discourse deployments.

---

<div class="post-metadata">

### Author: ![DeanMarkTaylor](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/deanmarktaylor/32/102462_2.png) [@DeanMarkTaylor](https://meta.discourse.org/u/DeanMarkTaylor)
#### Post date: [25. März 2016 um 01:59 UTC](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127/16 "2016-03-25T01:59:00Z")

</div>

> [@vi0oss](#):
>
> Maybe to properly reproduce the issue one should try to use (and log in to) multiple independent Discourse deployments.

That’s what I have been testing…

So far the only thing that’s gone yellow is `fonts.gstatic.com` which occurred when I clicked to play a YouTube video.

 ![](https://global.discourse-cdn.com/meta/original/3X/d/c/dcb001ff7e44b6c4350ac0e1dc9c2a50d5809957.png)

EDIT:  
And now when clicking to share that YouTube video to G+ a “red” for `videos.google.com`:

 ![](https://global.discourse-cdn.com/meta/original/3X/0/7/07182c6ae97b65a391c4314c65386c6d1c7ef394.png)

@vi0oss which Discourse instances do you visit?

---

<div class="post-metadata">

### Author: ![vi0oss](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/vi0oss/32/108767_2.png) [@vi0oss](https://meta.discourse.org/u/vi0oss)
#### Post date: [25. März 2016 um 02:12 UTC](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127/17 "2016-03-25T02:12:28Z")

</div>

- [http://internals.rust-lang.org/](http://internals.rust-lang.org/)
- [http://users.rust-lang.org/](http://users.rust-lang.org/)
- [http://forum.safenetwork.io/](http://forum.safenetwork.io/)
- [https://meta.discourse.org](https://meta.discourse.org)
- [https://discourse.redox-os.org/](https://discourse.redox-os.org/)

Something like that. Shall I try to reproduce the issue on purpose?

---

<div class="post-metadata">

### Author: ![DeanMarkTaylor](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/deanmarktaylor/32/102462_2.png) [@DeanMarkTaylor](https://meta.discourse.org/u/DeanMarkTaylor)
#### Post date: [25. März 2016 um 02:15 UTC](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127/18 "2016-03-25T02:15:31Z")

</div>

> [@vi0oss](#):
>
> Something like that. Shall I try to reproduce the issue on purpose?

Usually the first step to solving a problem is reliably reproducing it.  
It would be good to get a step-by-step reproduction of the issue.

---

<div class="post-metadata">

### Author: ![DeanMarkTaylor](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/deanmarktaylor/32/102462_2.png) [@DeanMarkTaylor](https://meta.discourse.org/u/DeanMarkTaylor)
#### Post date: [25. März 2016 um 02:42 UTC](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127/19 "2016-03-25T02:42:42Z")

</div>

After a while browsing several (5/6) instances and visiting `talk.turtlerockstudios.com` I noted the “DNT” indicators:

 ![](https://global.discourse-cdn.com/meta/original/3X/a/8/a823a6a6888deb6f2b3d79b1bf1b71888235afca.png)

---

<div class="post-metadata">

### Author: ![vi0oss](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/vi0oss/32/108767_2.png) [@vi0oss](https://meta.discourse.org/u/vi0oss)
#### Post date: [25. März 2016 um 02:51 UTC](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127/20 "2016-03-25T02:51:28Z")

</div>

- Startred 38.0.6 for Linux, with fresh profile
- Installed PrivacyBadger 1.0.6 to it (in primary browser I have 1.0.5)
- Visited and logged in to [https://meta.discourse.org](https://meta.discourse.org)
- Visited [http://users.rust-lang.org/](http://users.rust-lang.org/)  
[cdn-business.discourse.org](http://cdn-business.discourse.org) is showed green in PB
- Visited [http://internals.rust-lang.org/](http://internals.rust-lang.org/)
- Tried logging in to [internals.rust-lang.org](http://internals.rust-lang.org) (forgot which password I should use)
- Tried logging in to [internals.rust-lang.org](http://internals.rust-lang.org) using Github - not authorized
- Followed password reset link to [internals.rust-lang.org](http://internals.rust-lang.org)
- Followed password reset link to [users.rust-lang.org](http://users.rust-lang.org)  
So far cdn-business is green
- Visited [https://discourse.redox-os.org/](https://discourse.redox-os.org/)
- Visited [http://forum.safenetwork.io/](http://forum.safenetwork.io/)
- Logged in to [http://forum.safenetwork.io/](http://forum.safenetwork.io/)

The domain remained green.

- Opened [Discourse (software) - Wikipedia](https://en.wikipedia.org/wiki/Discourse_%28software%29) and clicked some links:

- [http://discourse.ubuntu.com/](http://discourse.ubuntu.com/)  
Red domain: [avatars.discourse.org](http://avatars.discourse.org). The site works.

- [https://discuss.atom.io/](https://discuss.atom.io/)  
Red domain: [cdn-business.discourse.org](http://cdn-business.discourse.org). The site fails

- [https://www.sitepoint.com/community/](https://www.sitepoint.com/community/)  
Yellow domain: [cdn.discourse.org](http://cdn.discourse.org). The site works.

- Visited [http://users.rust-lang.org/](http://users.rust-lang.org/) again: blank page (cdn-business now blacklisted).

No manual interactions with PrivacyBadger’s UI apart from opening it’s window, hovering there and inspecting settings was performed.

[Next page](https://meta.discourse.org/t/discourse-cdns-are-blocked-by-privacy-badger/17127.md?page=2)
