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;
}
}
docker イメージnode:14.19.3
( nginx/1.14.2
) では完璧に動作しますが、node:14-alpine
( nginx/1.22.1
) では動作が異なります。
- アクセスしようとすると
index.html
(または/
)デフォルトにリダイレクトされます/var/lib/nginx/index.html
(「Nginx へようこそ!」と表示されます)。ただし、/usr/share/nginx/html/index.html
存在し、権限があればすべて正常です。 - コピー
/usr/share/nginx/html/index.html
先が/usr/share/nginx/html/index.txt
- 開かれる (http://<<mydomain>/index.txt
) /usr/share/nginx/html/index.html
にコピーした場合/usr/share/nginx/html/i.html
- 404 - 見つかりません (http://<<mydomain>/i.html
、つまり、 では見つからないだけです/var/lib/nginx/i.html
)location
サイト設定から上部のブロックを削除すると、すべてが完璧に動作します(余分な応答ヘッダーがなくなるだけです)