Nginx verhält sich bei gleicher Site-Konfiguration in verschiedenen Docker-Images unterschiedlich

Nginx verhält sich bei gleicher Site-Konfiguration in verschiedenen Docker-Images unterschiedlich
nginx site config
    server {
    listen 80;
    server_name _;
    server_tokens off;
    gzip_static on;

    location ~* \.(html)$ {
        add_header 'X-XSS-Protection' '1';
    }

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html;
    }
}

es funktioniert perfekt mit dem Docker-Image node:14.19.3( nginx/1.14.2), aber mit node:14-alpine( nginx/1.22.1) verhält es sich anders:

  • versucht, auf den Standard zuzugreifen index.html(oder leitet ihn weiter) (gibt "Willkommen bei Nginx!" aus), obwohl vorhanden und mit den Berechtigungen ist alles in Ordnung//var/lib/nginx/index.html/usr/share/nginx/html/index.html
  • wenn kopieren /usr/share/nginx/html/index.htmlnach /usr/share/nginx/html/index.txt - es wird geöffnet ( http://<<mydomain>/index.txt)
  • if copy /usr/share/nginx/html/index.htmlto /usr/share/nginx/html/i.html - 404 - not found ( http://<<mydomain>/i.html, also, es kann es einfach nicht finden in /var/lib/nginx/i.html)
  • Wenn Sie den oberen locationBlock aus der Site-Konfiguration entfernen, funktioniert alles perfekt (es gibt nur diesen zusätzlichen Antwortheader nicht).

verwandte Informationen