Advertisement · 728 × 90
#
Hashtag
#BunnyCDN
Advertisement · 728 × 90

Has Anyone using BunnyCDN figured out a CI workflow to deploy a static site via GitHub Actions?

#jamstack #bunnycdn

0 1 1 0
Preview
Blocking Crawls From Cloudflare's Browser Crawl Endpoint Earlier this week, Cloudflare announced the introduction of their Browser Crawl Endpoint. This allows Cloudflare users to crawl an entire website by making a _single_ API call to the Browser rendering service. Although the browser rendering service honours robots.txt they don't define a specific User-Agent that the service will check for, apparently instead expecting website operators to disallow **all** user agents if they want to keep Cloudflare out. However, they have also documented that the service includes Cloudflare specific request headers, allowing requests to be blocked by checking for those. This post details how to achieve that on BunnyCDN, Nginx and Openresty. * * * ### The Headers The relevant header _names_ are documented here. However, unhelpfully, Cloudflare have not provided example/expected values so I had to go digging. `cf-brapi-request-id` contains a unique request ID so, although you can check for the existence of it, relying on the value being a consistent format may be unwise. `Signature-agent` is a little bit more useful. The automatic request headers documentation indicates that the value will point to a path under `https://web-bot-auth.cloudflare-browser-rendering-085.workers.dev/`. It is, however, unclear whether this will always be the case (the inclusion of a number suggests that it may not). * * * ### BunnyCDN BunnyCDN allows the creation of edge rules which can match against request headers. Although they don't provide an explicit way to test for the existence of a header, their glob support allows us to achieve the same effect: Action: Block Request Conditions: Match Any | | Request Header Header Name: Signature-agent Value: https://web-bot-auth.cloudflare-browser-rendering* | | Request Header Header Name: cf-brapi-request-id Value: * Within the web UI, the conditions look like this: * * * ### Nginx Requests can also be blocked in Nginx: if ($http_signature_agent ~ "^https://web-bot-auth.cloudflare-browser-rendering(.*)") { return 403; } if ($http_cf_brapi_request_id){ return 403; } Note: although _if is evil_ it's considered that using `return` is 100% safe. * * * #### OpenResty If you're using OpenResty you can still use the Nginx config, but can also achieve the same in LUA: local h = ngx.req.get_headers() if h["cf-brapi-request-id"] then return ngx.exit(403) end if h["signature-agent"] and h["signature-agent"] ~= "https://web-bot-auth.cloudflare-browser-rendering*" then return ngx.exit(403) end This snippet can easily be included in a `header_filter_by_lua` block with custom response headers added for debugging purposes: header_filter_by_lua ' local h = ngx.req.get_headers() if h["cf-brapi-request-id"] then ngx.header["x-reason"] = "Foxtrot Oscar my old buddy" return ngx.exit(403) end if h["signature-agent"] and h["signature-agent"] ~= "https://web-bot-auth.cloudflare-browser-rendering*" then ngx.header["x-reason"] = "Sign this..." return ngx.exit(403) end '; * * * ### Conclusion I already have more than enough unwanted traffic hitting my servers without Cloudflare giving others an off-the-shelf ability to one-shot my services. To give Cloudflare their dues, though, they have at least documented how to block their browser rendering service. It could _perhaps_ have been more clearly documented, but the information is at least there. Still, it would have been nice if they could have defined a _specific_ user-agent to be added to `robots.txt` rather than expecting people to check headers on every request.

Blocking Crawls From Cloudflare's Browser Crawl Endpoint
Author: Ben Tasker

www.bentasker.co.uk/posts/documentation/gene...

#bots #bunnycdn #cloudflare #nginx #openresty

0 0 0 0
Switching to Bunny DNS A recent post by Henrique made me look into Bunny DNS again. In the past I already tried it for one or two domains but eventually stopped using it because they didn’t support DNSSEC yet. Instead I relied on the wonderful services of DeSEC. But now that support for DNSSEC and TLSA records is finally here, I switched again to Bunny DNS with all 21 of my domains.

Switching to Bunny DNS

https://b.jlel.se/s/86b

#BunnyCDN #DNS

0 0 0 0
Bunny CDN

Bunny CDN

🛠️ Our Tools: @bunny.net [🇸🇮]

There are several solid European CDN options. For EU TechStack we use Bunny to keep the site fast globally. European edge platform combining CDN, optimisation and security in one place.

Link in reply 👇

#bunnycdn #cdn #eutechstack

2 0 1 0
Goodbye AWS - moving from Cloudfront to Bunny CDN Another step in the europeanisation of my tech stack

stfn.pl/blog/91-clou...
#aws #bunnycdn

0 0 0 0
Bunny.net (previously Bunny… Bunny.net (previously BunnyCDN) keeps doing great things (like this free European non-logging JS CDN), but it would be even better if they also replaced the Disqus comments in their blog with a more privacy-friendly alternative.

Bunny.net (previously Bunny…

https://b.jlel.se/s/830

#BunnyCDN

0 0 0 0

Looks like using the #BunnyShield WAF can lead to interferences with #LetsEncrypt HTTP-01 challenges… according to #BunnyCDN support, they are working on a fix.

0 0 0 0
Preview
Bunny CDN: How to redirect Root Domain to Subdomain Bunny.net: Learn how to redirect a root domain to its www subdomain using Bunny DNS and Bunny CDN Edge Rules.

I‘ll publish learnings I made during my recent transition to #bunnycdn. First part is on root domain redirection using #bunnydns

👉🏻 www.jbspeakr.cc/bunny-cdn-do...

#goeuropean #eurostack #europeanalternatives

1 0 0 0
Preview
Bunny Updates | Jonathan's Blog A bit over a month ago, I switched my blog over to BunnyCDN. I wanted to update that post when the trial period was up, but I ended up being busy, so here’s an update from a month and change in. Prici...

New blog post! A follow-up to my last one on #BunnyCDN because some people asked about how things were going.
jonathan-frere.com/posts/bunny-...

2 0 1 0
Preview
Geoblocking the UK with BunnyCDN I recently wrote about performing an Online Safety Act assessment for my Mastodon server. In that post, I noted that Ofcom's vague statements meant that they could feasibly conclude that another of my sites might _potentially_ fall in scope of Part 5. Since then, I've performed an assessment and ultimately concluded that it's impossible to say whether Ofcom would consider it as being in scope or not. Given the potential for multi-million pound fines, the only **safe** way to proceed is to assume that they _would_ consider it in scope and so would have expectations around compliance. The problem with that, is that it's impossible to comply with demands for "highly effective" age verification without significantly infringing the privacy of everyone who visits. It's not like a licensed premises where you check anyone who _looks_ sufficiently young, verifying that no online user is underage means that you have to track the age **of everyone**. That's a disaster waiting to happen, and I'll not be a part of it. Instead, I've taken the decision to move the site _definitively_ out of scope by geo-blocking UK users. This post describes how to configure BunnyCDN to geoblock requests from specific countries. I'll describe both how to block and how to redirect them to a page explaining the reasons behind the block. * * * #### Blocking Rule To create a rule which simply blocks the request: * Browse to your CDN pull zone in Bunny's dashboard * Choose Edge Rules * Provide a meaningful name * Set the action to Block In the match rules section: * Match All * Country Code (2 Letters) * GB Once ready, click `Save Edge Rule`. * * * #### Redirect Rule Simply blocking users is effective, but potentially comes with a support burden: if you're reachable via other means (say, social media), you may find that you start getting messages from confused visitors saying that your site is broken. To avoid that, I created a page to explain the block and suggest that, if they want to bug anyone, visitors should talk to their MP. Technically, it's possible to serve the blockpage from the same domain, but I didn't want to have to mess around with a complex ruleset, so decided to serve it off a different domain (`www.bentasker.co.uk`) instead. To create a redirect: * Browse to your CDN pull zone in Bunny's dashboard * Choose Edge Rules * Provide a meaningful name * Set the action to `Redirect` * Enter the URL to redirect to * Set the status code to either `302` or `307` Then, in the match rules section: * Match All * Country Code (2 Letters) * GB * * * #### Adding Exceptions The reason that we chose `Match all` rather than `Match any` is that it allows us to add additional rules to create exceptions. For example, I'd _quite like_ for my home address to still be able to access the site (I don't count as a user under the OSA because I'm the provider). Because the rulesets are set to `Match All`, we can achieve this by creating a condition which will not match for our excluded IPs: * Click `Add condition` * Set the match type to `Remote IP` * Click `Match none` * Add an IP that you'd like to exclude You can add additional IPs by clicking `Add Property`: Any IP included in this rule will **not** be redirected. * * * #### Bonus: Block Page Status Having created my block page, I decided that I wanted to ensure that it was served with an appropriate status code. HTTP/2 451 `HTTP 451: Unavailable For Legal Reasons` was mooted in RFC 7725 and seems the most appropriate here. My site is _also_ served by BunnyCDN, so I decided to add the override there * Browse to pull zone * Edge Rules Then * Set the action to `Set Status Code` * Set `Status Code` to `451` Create a condition * Request URL * Set the URL to be the URL of your block page * * * #### Conclusion It is, all things considered, a fairly ridiculous situation. It's not as if I'm operating Pornhub, it's a small archive of photos from when I was more active as a photographer. It's not even _particularly_ focused on model photography: there's architecture, vehicles and even flowers mixed in. Personally, I don't think that it would fall within Parliament's intended scope, because the act's wording relies on the creator's intent > content of such a nature that it is reasonable to assume that it was produced solely or principally for the purpose of sexual arousal Unfortunately, Ofcom have said that they believe it is, instead, driven by context > Whether content has been produced either solely or principally for the purpose of sexual arousal is likely to be dependent on the nature of the content itself, having taken the relevant contextual factors into account, rather than the intent of the uploading user or any viewer of it. As I noted in my previous post on the subject, this leaves a ton of unanswered questions * Is explicit content OK in a non-sexual context? If not, at what point does content become inherently in-scope? * Do viewer interactions alter the context? If users have left sexually suggestive comments, could that push something in scope? Ofcom's stated position is, essentially, that it'll all get ironed out in court. No-one sensible is going to want to be the test case for _that_ , so all we have in the meantime is chilling effects.

New #Documentation: Geoblocking the UK with BunnyCDN
Author: Ben Tasker

www.bentasker.co.uk/posts/documentation/gene...

#bunnycdn #georestrictions #onlinesafetyact #web

0 0 0 0
Preview
Switching to BunnyCDN in Less Than 2 Hours | Jonathan's Blog Given some recent, uh, instability in US politics, and given that everyone likes an underdog, I’ve been looking at European alternatives to my current hosting situation, which is Cloudflare. After loo...

My blog is now hosted on #BunnyCDN, which was way easier to get working than I thought! jonathan-frere.com/posts/switch...

1 0 1 0