recherche

Maison  >  Questions et réponses  >  le corps du texte

linux - nginx peut être démarré en ajoutant add_header, mais cela ne prend pas effet et aucune erreur n'est signalée.

nginx peut être démarré en ajoutant add_header, mais cela ne prend pas effet et aucune erreur n'est signalée
La configuration est la suivante :



     server {
        listen       80;
        server_name  localhost;
        server_tokens off;
        
        #access_log  logs/host.access.log  main;
       

        location / {
            add_header X-Frame-Options 'SAMEORIGIN'; # 只允许本站用 frame 来嵌套
            add_header X-XSS-Protection '1; mode=block'; # XSS 保护
            add_header X-Content-Type-Options 'nosniff';#响应头可以禁用浏览器的类型猜测行为
            root   /mnt/hexo-auto-deploy/hexo/public;
            index  index.html index.htm;
           

        }

        location ~.*\.(js|css)?$ {  
            access_log   off;
            expires 1h;  
        } 

        location ~* ^.+\.(eot|ttf|otf|woff|woff2|svg)$ {
            access_log   off;
            expires max;
        }

Ça ne sert à rien d'essayer de mettre add_header à divers endroits, j'ai abandonné
L'hôte est ecs ubuntu nginx version 1.13.0
J'ai testé nginx -t et il a dit que c'était vrai, c'est celui que j'ai perdu

PHPzPHPz2767 Il y a quelques jours1425

répondre à tous(1)je répondrai

  • 巴扎黑

    巴扎黑2017-05-27 17:46:23

    D'après la configuration que vous avez publiée, il semble qu'il n'y ait aucun problème avec la configuration.
    Le problème réside peut-être dans la fonctionnalité d'héritage de add_header. add_header的继承特性上。
    如果某个location没有add_header指令就会继承上级配置的add_header,如果写了,就会完全覆盖上级的add_header

    你是否还额外写了location ~ .(html|htm)?$之类的配置,并且在里面使用了add_header指令?
    这样会造成覆盖了location /里的add_header

    另外建议一点:rootindex指令放server block,如果没有特殊需求,可以将add_header也放在server block。

    补充:
    静态资源修改头部信息,你需要用CTRL + F5来刷新,
    另外,使用了CDN的话,也要清理CDN上的缓存,
    或者,使用/index.html?ver=1Si un emplacement n'a pas la directive add_header, il héritera du add_header configuré par le supérieur. S'il est écrit, il écrasera complètement le add_header supérieur. .

    🎜Avez-vous également écrit des configurations supplémentaires telles que location ~ .(html|htm)?$ et utilisé la directive add_header ? 🎜Cela entraînera l'écrasement du add_header dans location /. 🎜 🎜Autre suggestion : mettez les instructions root et index dans le bloc serveur. S'il n'y a pas de besoins particuliers, vous pouvez également mettre add_header dans le bloc serveur. bloc serveur. 🎜 🎜Supplément : 🎜Pour modifier les informations d'en-tête des ressources statiques, vous devez utiliser CTRL + F5 pour actualiser. 🎜De plus, si vous utilisez un CDN, vous devez également vider le cache sur le CDN. 🎜Ou, utiliser /index.html?ver=1 pour contourner le cache peut également être utilisé. 🎜

    répondre
    0
  • Annulerrépondre