Я использую созданный шаблон сайта и статический поддомен для обслуживания своих статических файлов. Статические файлы запрашиваются с использованием явных URL-адресов из игр Javascript, для обслуживания которых я использую приложение yesod (написанное с использованием платформы Phaser).
Пример сообщения об ошибке из консоли Javascript:
Phaser.Loader error loading file: player1_icon from URL http://example.com/static/games/mygame/images/player1/icon.png
Image from origin 'http://example.com' has been blocked from loading by Cross-Origin Resource Sharing policy:
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access.
Некоторые исследования показывают, что добавление строки addHeader "Access-Control-Allow-Origin" "*"
в функцию-обработчик может решить эту проблему. Однако статический маршрут не использует функцию обработчика, поэтому я не знаю, куда бы я это поместил.
Любая помощь будет принята с благодарностью.