Nginx는 다른 도커 이미지에서 동일한 사이트 구성으로 다르게 동작합니다.

Nginx는 다른 도커 이미지에서 동일한 사이트 구성으로 다르게 동작합니다.
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;
    }
}

node:14.19.3도커 이미지 ( ) 에서는 완벽하게 작동 nginx/1.14.2하지만 node:14-alpine( nginx/1.22.1)에서는 다르게 동작합니다.

  • 액세스 index.html(또는 /)를 시도하면 기본값 /var/lib/nginx/index.html("Welcome to Nginx!" 렌더링) 으로 리디렉션되지만 /usr/share/nginx/html/index.html존재하고 권한이 있으면 모든 것이 정상입니다.
  • 복사 /usr/share/nginx/html/index.html할 경우 /usr/share/nginx/html/index.txt - 열림( http://<<mydomain>/index.txt)
  • - 404 /usr/share/nginx/html/index.html에 복사한 경우 - 찾을 수 없음( 음, 찾을 수 없습니다 .)/usr/share/nginx/html/i.htmlhttp://<<mydomain>/i.html/var/lib/nginx/i.html
  • 사이트 구성에서 상위 location블록을 제거하면 모든 것이 완벽하게 작동합니다(추가 응답 헤더가 없습니다).

관련 정보