Issues with Flipping Book and Cloudfront

Permalink Browser Info Environment
On the Sussex Campervans website, Flipping Book isn't working on the public-facing Cloudfront site. It does work on the origin server.

Cloudfront URLhttps://www.sussexcampervans.com/essential-campervan-buyers-guide-fl...
Originhttps://origin.sussexcampervans.com/essential-campervan-buyers-guide...

The error I am seeing is a "416 Requested Range Not Satisfiable" on a HTTP query to download the PDF. From the error and the HTTP headers, it seems that the plugin is querying for a byte range which CloudFront believes is incorrect.

Please could you investigate and advise?

-David.

Type: Ticket
Status: In Progress
waveywhite
View Replies:
DeWebmakers replied on at Permalink Reply
DeWebmakers
Hi David,

Seems the error is produced by the Facebook Trackingcode.
There is a javascript error there, that seems to block the loading of the PDF-viewer.
Could you try to temporary remove the trackincode and see if it fixes the issue.

Best,

Corretje
waveywhite replied on at Permalink Reply
waveywhite
Hi,

Thank you for your response.

I've removed that errant tag but the problem is persisting. Please see:
https://www.sussexcampervans.com/essential-campervan-buyers-guide-fl...

(?test URL parameter is to bypass the CDN).

-David.
DeWebmakers replied on at Permalink Reply
DeWebmakers
Hi David,

Not sure what is happening here. But your document receives a status 416 from the server.
A, to me, unknown statuscode.

It seems it has to do something with your hosting setup.
Could you ask your provider for any guidance?
waveywhite replied on at Permalink Reply
waveywhite
This might be what is happening:

1. The javascript asks for a range of bytes of /download_file/1627/665 (see HTTP headers)

2. /download_file/1627/665 actually redirects (303) to /application/files/6816/3059/4512/Essential_Campervan_Buyers_Guide_2021_-_FULL.pdf

3. Cloudfront thinks that asking for a range of bytes of a resource that redirects makes no sense, so it returns 416 Range Not Satisfiable. This doesn't seem unreasonable.

Is there a reason within concrete5 for this redirect happening? If the javascript did the byte range query on the target URL instead, this issue might be resolved.

Thanks,
-David.

concrete5 Environment Information

# concrete5 Version
Core Version - 8.5.5
Version Installed - 8.5.5
Database Version - 20201116182100

# Database Information
Version: 10.4.13-MariaDB-log
SQL Mode: STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

# concrete5 Packages
Call to Action (1.0.0), EZ Recipe (1.0), HTML+PHP Code Block (1.0.1), Open Graph Tags Lite (2.1.5), PDF Flipping Book (1.0.3), Pure Accordion (0.9.2), Simple Gallery (1.0.7), Sussex Campervans (0.9.2), Use CDN (0.1.3), Vimeo Video (1.0.2), Webli YouTube PopUp (2.1.2)

# concrete5 Overrides
blocks/html5_video/icon.png, blocks/html5_video/add.php, blocks/html5_video/form.php, blocks/html5_video/controller.php, blocks/html5_video/edit.php, blocks/html5_video/view.php, blocks/html5_video/db.xml, blocks/html5_video, blocks/feature/view.css, blocks/feature/view.php, blocks/feature, blocks/vimeo_to_youtube/view.css, blocks/vimeo_to_youtube/icon.png, blocks/vimeo_to_youtube/add.php, blocks/vimeo_to_youtube/form.php, blocks/vimeo_to_youtube/controller.php, blocks/vimeo_to_youtube/edit.php, blocks/vimeo_to_youtube/templates/responsive/view.css, blocks/vimeo_to_youtube/templates/responsive/view.php, blocks/vimeo_to_youtube/templates/responsive/js/jquery.fitvids.js, blocks/vimeo_to_youtube/templates/responsive/js, blocks/vimeo_to_youtube/templates/responsive, blocks/vimeo_to_youtube/templates, blocks/vimeo_to_youtube/view.php, blocks/vimeo_to_youtube/db.xml, blocks/vimeo_to_youtube, blocks/image_overlay/view.css, blocks/image_overlay/icon.png, blocks/image_overlay/add.php, blocks/image_overlay/form.php, blocks/image_overlay/tools/crop_image.php, blocks/image_overlay/tools/composer_save.php, blocks/image_overlay/tools, blocks/image_overlay/controller.php, blocks/image_overlay/edit.php, blocks/image_overlay/view.php, blocks/image_overlay/composer.php, blocks/image_overlay/db.xml, blocks/image_overlay/view.js, blocks/image_overlay, blocks/imagefeature/view.css, blocks/imagefeature/icon.png, blocks/imagefeature/add.php, blocks/imagefeature/form.php, blocks/imagefeature/controller.php, blocks/imagefeature/edit.php, blocks/imagefeature/templates/image_right/view.css, blocks/imagefeature/templates/image_right/view.php, blocks/imagefeature/templates/image_right, blocks/imagefeature/templates/full_width/view.css, blocks/imagefeature/templates/full_width/view.php, blocks/imagefeature/templates/full_width, blocks/imagefeature/templates, blocks/imagefeature/view.php, blocks/imagefeature/db.xml, blocks/imagefeature, blocks/blog_list/view.css, blocks/blog_list/auto.js, blocks/blog_list/icon.png, blocks/blog_list/add.php, blocks/blog_list/tools/preview_pane.php, blocks/blog_list/tools, blocks/blog_list/controller.php, blocks/blog_list/page_list_form.php, blocks/blog_list/rss.png, blocks/blog_list/edit.php, blocks/blog_list/templates/thumbnail_grid/view.css, blocks/blog_list/templates/thumbnail_grid/view.php, blocks/blog_list/templates/thumbnail_grid, blocks/blog_list/templates/van_grid/view.css, blocks/blog_list/templates/van_grid/view.php, blocks/blog_list/templates/van_grid, blocks/blog_list/templates, blocks/blog_list/view.php, blocks/blog_list/db.xml, blocks/blog_list, blocks/external_form/form/Manhattan.php, blocks/external_form/form/NV200.php, blocks/external_form/form/controller/test_form.php, blocks/external_form/form/controller, blocks/external_form/form/Venturer_SE.php, blocks/external_form/form/forms.tar.xz, blocks/external_form/form/VWguide.php, blocks/external_form/form/paradise.php, blocks/external_form/form/test_drive.php, blocks/external_form/form/touch.php, blocks/external_form/form/Buyers.php, blocks/external_form/form/visit.php, blocks/external_form/form, blocks/external_form

# concrete5 Cache Settings
Block Cache - On
Overrides Cache - On
Full Page Caching - On - In all cases.
Full Page Cache Lifetime - Every 6 hours (default setting).

# Server Software
Apache/2.4.41 (Ubuntu)

# Server API
apache2handler

# PHP Version
7.4.3

# PHP Extensions
apache2handler, calendar, Core, ctype, curl, date, dom, exif, FFI, fileinfo, filter, ftp, gd, gettext, hash, iconv, imagick, json, libxml, mbstring, mysqli, mysqlnd, openssl, pcre, PDO, pdo_mysql, Phar, posix, readline, Reflection, session, shmop, SimpleXML, soap, sockets, sodium, SPL, standard, sysvmsg, sysvsem, sysvshm, tokenizer, xml, xmlreader, xmlwriter, xsl, Zend OPcache, zip, zlib

# PHP Settings
max_execution_time - 30
log_errors_max_len - 1024
max_file_uploads - 20
max_input_nesting_level - 64
max_input_time - 60
max_input_vars - 1000
memory_limit - 128M
post_max_size - 20M
upload_max_filesize - 20M
mbstring.regex_retry_limit - 1000000
mbstring.regex_stack_limit - 100000
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
session.cache_limiter - <i>no value</i>
session.gc_maxlifetime - 7200
soap.wsdl_cache_limit - 5
unserialize_max_depth - 4096
opcache.max_accelerated_files - 10000
opcache.max_file_size - 0
opcache.max_wasted_percentage - 5

Browser User-Agent String

Mozilla/5.0 (X11; Linux x86_64; rv:93.0) Gecko/20100101 Firefox/93.0

Hide Post Content

This will replace the post content with the message: "Content has been removed by an Administrator"

Hide Content

Request Refund

You may not request a refund that is not currently owned by you.