問題

知らない間にConsoleで下記のエラーが表示されるようになった。

XMLHttpRequest cannot load https://blossm.mautic.net/mtc/event. Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘https://susu.mu’ is therefore not allowed access.

Mauticのトラッキング用のJSコードが上手くいっていないのは分かるのだが、エラーの詳細が分からないため再度トラッキングコードを取得してみたがすでに貼り付けられているJSコードと一致している為、Mauticのバグもしくは設定のミスだと思い情報を探した。

解決方法

Mautic で CORS 対策をしてみよう | コンクリートファイブジャパン – concrete5 Japan Inc.

Mautic Tokyo Meetup のオーガナイザーでもある菱川さんが代表取締役をつとめるconcrete5 Japanのブログで上記の記事を発見。

CORS設定でドメインを制限する

意図しないドメインのトラフィックをカウントしてしまって、正常に分析ができなくなるのを防ぐためにCORS設定をしておくとよいらしい。

CORS(Cross-Origin Resource Sharing)は、その名の通り、ブラウザがオリジン(HTMLを読み込んだサーバのこと)以外のサーバからデータを取得する仕組みです。 各社のブラウザには、クロスドメイン通信を拒否する仕組みが実装されています。 これは、クロスサイトスクリプティングを防止するためです。
CORS(Cross-Origin Resource Sharing)によるクロスドメイン通信の傾向と対策 | Developers.IO

僕のMauticの設定はCORS設定の”ドメイン制限”が『はい』になり機能が有効化されているのに、”有効なドメイン”が指定されていなかったのが問題だったようだ。

CORS設定の”ドメイン制限”を『いいえ』にするか、『はい』にする場合は画像のように”有効なドメイン”を指定するのが解決する方法だった。

 

2017-03-29 17.20.25