Удаление заголовка "X-Frame-Options" в nginx для яндекса
Недавно я начал использовать аналитический инструмент Яндекса, он дает вам подробную информацию о ваших посетителях, даже если он записывает видео о каждом посетителе, заходящем на ваш сайт... ссылка на инструмент: metrica.yandex.com, это совершенно бесплатно.
В любом случае, инструмент Яндекса предоставляет опцию, называемую картами, которая показывает большинство мест на вашем веб-сайте, на которые нажали посетители, поэтому, когда я пытался ее использовать
Я получил сообщение об ошибке:
Not possible to replay visit on the given page. Possible reasons:
Counter code not configured
Displaying this page in a frame is forbidden
И я почти уверен, что код счетчика настроен хорошо, и я разместил его в нужном месте на своем веб-сайте, поэтому я зашел на страницу справки: yandex.com/support/metrica/behavior/click-map.html
чтобы увидеть, в чем проблема, поэтому я обнаружил, что
If your site is protected from being shown in an iframe (the X-Frame-Options header is used in the server settings), the collected data won't be available for viewing. To view the site's session data, you must change the server settings and add an exception for the webvisor.com domain and subdomains, as well as for your site's domain. Use the regular expression
и они дают пользователям, которые используют nginx код, который необходимо добавить в файл конфигурации, чтобы карты работали правильно
поэтому я добавил его, и это мой файл конфигурации после добавления нескольких строк
.....
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
set $frame_options '';
if ($http_referer !~ '^https?:\/\/([^\/]+\.)?(www.google\.com|webvisor\.com)\/'){
set $frame_options 'SAMEORIGIN';
}
add_header X-Frame-Options $frame_options;
}
.....
Я изменил свое доменное имя с помощью www.google.com.
но ошибка все еще показывает мне, я не знаю почему, но, возможно, я пропустил какой-то шаг... пожалуйста, ребята, предложите мне возможное решение Мне нужен этот вариант, чтобы знать, где я могу разместить свои объявления
2 ответа
По ссылке https://yandex.com/support/metrica/behavior/click-map.html они говорят странным образом, а не Content-security-policy. Но, как я вижу, домен webvisor.com
только я думаю. Таким образом, вы можете определить свою политику безопасности контента как *.webvisor.com
Недавно я столкнулся с той же проблемой с Яндекс метрикой. Их сообщение об ошибке немного вводит в заблуждение, потому что в моем случае причина была Content-Security-Policy
настройки, а не X-Frame-Options
, Проверьте документацию по установке счетчика на сайте с CSP и попробуйте добавить что-то вроде следующего в конфигурацию nginx:
add_header Content-Security-Policy "frame-src blob: https://mc.yandex.ru https://mc.yandex.com https://mc.webvisor.com https://mc.webvisor.org";
add_header Content-Security-Policy "child-src blob: https://mc.yandex.ru https://mc.yandex.com https://mc.webvisor.com https://mc.webvisor.org";
add_header Content-Security-Policy "script-src 'unsafe-inline' https://yastatic.net https://mc.yandex.ru https://mc.yandex.com 'self'";