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 image 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
从站点配置中删除上面的块,一切都会正常(只是没有额外的响应标头)