В Битрикс Веб-окружении по умолчанию в настройках 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 для всех, за исключением Яндекс Метрики. Вебвизор должен корректно заработать.

Нужна профессиональная удалённая помощь с сервером, сайтом, компьютером или ноутбуком?

Свяжитесь со мной любым удобным для вас способом, и получите её быстро и не дорого.

Обсудить задачу

Помогла статья? Поблагодари автора!

Остались вопросы, или есть что добавить? Добро пожаловать в комментарии.

Угостить автора чашечкой кофе