Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
I am just writing a quick note here about Rackspace's new CDN product. It looks like it is origin pull and all of that great stuff and built upon Cloud Files somewhat.
Comments
Comment #1
Shane Birley CreditAttribution: Shane Birley commentedComment #2
Wim LeersExcellent! And finally :) Origin Pull makes so much more sense than Push 99% of the time.
This means I should just update the README.
Comment #3
Shane Birley CreditAttribution: Shane Birley commentedI am implementing on a test site and I am documenting what I find. There is an issue surrounding the host name being confused. If Akamai receives a CDN request from the origin but the URL is of the root TLD, Akamai will complain and deny the request. So, if "cdn.example.com" is the CDN that Akamai knows about and "www.example.com" makes the request with the usual host_http data, boom, it tells the site to get lost. If we remove the host tag, Akamai is happy.
For reference:
https://www.drupal.org/node/2213429
https://www.drupal.org/node/2499089
I am still digging into this but haven't been able to determine the correct fix for this yet.
Comment #4
Wim LeersThanks! Keep us posted :)
Comment #5
Shane Birley CreditAttribution: Shane Birley commentedI just spoke to Akamai again and they said that, at this time, the only way is to remove the host_http tag from the request.
Does anyone have an idea of how to remove/hide it from the request? This appears to be the only stumbling block.
Comment #6
Shane Birley CreditAttribution: Shane Birley commentedI just did a review of the errors being tossed, I think all of the errors are coming from internal pages (authenticated users). Is it possible there is a problem with the authenticated users URL calls are ignoring "cdn.example.com" and making admin page requests? I checked the config and the admin pages are supposed to be ignored.
I wonder if CDN/AdvAgg are getting punked by something wrong with the CDN module?
Comment #7
Shane Birley CreditAttribution: Shane Birley commentedThe conversation over on the AdvAgg issue queue.
Comment #8
Wim LeersSo the problem described in #3 was a bug in AdvAgg #2213429: FarFuture incompatible with Akamai because of Vary: Accept-Encoding, and was fixed there. That allows us to make this issue as simple as #2 again :)
Comment #9
Shane Birley CreditAttribution: Shane Birley commentedCorrect!
Comment #10
Wim LeersComment #12
opratr CreditAttribution: opratr as a volunteer commentedI've setup a sandbox project for a Rackspace CDN module that will use the REST API to purge assets from the CDN cache. It will be similar to the Akamai module functionality. I hope to get started on that ASAP.
https://www.drupal.org/sandbox/sirrion/2513574
Comment #13
Wim Leers#12: You don't need that if you're using the CDN module's Far Future expiration feature.
Comment #14
Shane Birley CreditAttribution: Shane Birley commentedCorrect. I confirmed with one of the CDN product managers that there are some changes coming to the Edge Rules and a full purge option (right now, from the control panel, you can purge individual files).
Comment #15
opratr CreditAttribution: opratr as a volunteer commentedSorry, I probably shouldn't have posted that comment in this thread, necessarily. In the context of how the CDN module functions (i.e. dealing with static content resources like images, CSS, etc.) a Rackspace CDN module wouldn't make sense and would be totally unnecessary.
However, in instances where you have your entire site behind the origin-pull Rackspace CDN, including page content, files, etc., there are definitely valid use cases for purging content from the CDN network as it gets updated, deleted, etc. I know the sites I've built using the Akamai CDN would not have worked without the Akamai module.
Sorry for the confusion.
Comment #16
Wim LeersOh, yes, absolutely! Assets only vs. entire site is indeed a hugely important distinction.
You may want to look at https://www.drupal.org/project/purge then btw.