В Битрикс Веб-окружении по умолчанию в настройках Nginx прописан заголовок X-Frame-Options, который защищает сайт от показа в iframe. Соответственно, из-за этого, не будет корректно работать Вебвизор Яндекс Метрики, так как при просмотре посещений, сайт должен открываться в iframe. Статистика будет собираться, но посмотреть её будет невозможно.
Решение проблемы описано в Яндекс Справке. Нам остаётся только внедрить его в настройки nginx на сервере под управлением «1С-Битрикс: Веб-окружение».
Для начала уберём заголовок X-Frame-Options из файла /etc/nginx/bx/conf/general-add_header.conf. Можно просто его закомментировать:
add_header "X-Content-Type-Options" "nosniff"; #add_header X-Frame-Options SAMEORIGIN;
А теперь снова добавим его, но исключим Яндекс Метрику. Для этого в конец файла /etc/nginx/bx/conf/bitrix_general.conf добавим:
# yandex webvisor fix set $frame_options ''; if ($http_referer !~ '^https?:\/\/([^\/]+\.)?(yourdomain\.com|webvisor\.com|metri[ck]a\.yandex\.(com|ru|by|com\.tr))\/'){ set $frame_options 'SAMEORIGIN'; } add_header X-Frame-Options $frame_options;
Где yourdomain\.com нужно заменить на домен вашего сайта.
Далее проверяем корректность синтаксиса конфигурационных файлов Nginx, выполнив в консоли команду:
nginx -t
И если всё ок, перезапускаем Nginx:
service nginx reload
Таким образом мы оставили заголовок X-Frame-Options для всех, за исключением Яндекс Метрики. Вебвизор должен корректно заработать.