No, I use the Akamai CDN, which supports cache dynamic content.
From the first post in this thread, it looks I should set the DISCOURSE_CDN_URL as non full site CDN does, though the URL is the same as the website URL. I am just not sure if setting it causes my site broken and other irreversible results, in the end I have to reinstall the software from scratch. In this post Full Site CDN Using AWS CloudFront, the author doesn’t set and leave DISCOURSE_CDN_URL unchanged, and it doesn’t require a separate URL to serve message-bus/long-polling. I use this solution and my website is running well so far. The only drawback of the solution is that there’re many relative URL (no base URL, as DISCOURSE_CDN_URL value is empty) presenting in the page source, which makes it look not a production level website.