Исправьте конфигурацию nginx, чтобы разрешить iframes

Я связываюсь с вами, потому что в течение нескольких дней я пытался добавить свою каплю из цифрового океана в iframe на своем веб-сайте.
Он продолжает говорить мне, что это не работает, потому что мои параметры X-Frame-Options установлены в тот же источник , который я проверил в заголовке, является правдой.
Я попробовал несколько вещей, чтобы заставить его работать.
Сначала я попытался посмотреть, могу ли я изменить X-Frame-Options в моем /etc/nginx/ файл nginx.conf. Поэтому я добавил:

add_header X-Frame-Options DENY;  

Я пробовал в бите html, а также в бите сервера или части местоположения, но это никогда не работало, и при просмотре ответа заголовка у меня всегда было одно и то же происхождение, а не отрицание (я знаю, что я не должен запрещать, чтобы разрешить iframes, но это должно было проверить правильно ли я действовал).
Я также попытался добавить CSP следующим образом:

add_header Content-Security-Policy "frame-ancestors 'self' mysite.com;

но он также не отображается в моем заголовке... Кажется, мой заголовок ничего не меняет. Что я должен делать? Я попытался перезапустить свою каплю и использовать grep, чтобы проверить, есть ли другие места с X-Frame-Options, но это не так. Пожалуйста, помогите мне, потому что это сводит меня с ума.

Вот мой файл конфигурации Nginx:

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
        worker_connections 768;
        # multi_accept on;
}

http {
        
        ##
        # Basic Settings
        ##

        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        types_hash_max_size 2048;
        # server_tokens off;
        # server_names_hash_bucket_size 64;
        # server_name_in_redirect off;

        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        ##
        # SSL Settings
        ##

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
        ssl_prefer_server_ciphers on;

        ##
        # Logging Settings
        ##

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        ##
        # Gzip Settings
        ##

        gzip on;

        # gzip_vary on;
        # gzip_proxied any;
        # gzip_comp_level 6;
        # gzip_buffers 16 8k;
        # gzip_http_version 1.1;

        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;

}

а вот мой /etc/nginx/sites-enabled/default

    server {
        listen 80 default_server;
        listen [::]:80 default_server;
        root /var/www/html;

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;

        server_name _;


        location / {
               
                try_files $uri $uri/ =404;
        }
        server {
        listen 80;
        listen [::]:80;

        server_name sub.domain.com;

        root /var/www/sub.domain.com;
        index index.html;

        location / {
                
                try_files $uri $uri/ =404;

        }

}


person Quentin    schedule 11.07.2020    source источник


Ответы (1)


Верно. Я узнал, что мой сервер работал с traefik, а не с nginx напрямую, поэтому мне пришлось настроить конфигурацию в файле traefik.toml.

person Quentin    schedule 12.07.2020