我在 Apache 2.4 服务器前面使用 nginx 作为 TLS 终止符。
我add_header X-Content-Type-Options nosniff;
在 nginx 中使用此标头添加到每个响应中。
如果 Apache 返回的 HTTP 状态代码低于 400,则标头设置正确,但如果状态大于或等于 400,则标头被忽略。
gzip 模块也是如此。如果状态代码低于 500,gzip 模块会自动压缩响应正文。但是,如果 Apache 获取的 HTTP 状态代码大于或等于 500,则 gzip 模块将不执行任何操作。
我的 nginx 配置的一些相关部分:
proxy_intercept_errors off;
proxy_ignore_client_abort off;
proxy_http_version 1.1;
proxy_hide_header X-Powered-By;
proxy_set_header Connection ""; #for keepalive to backend
add_header X-Content-Type-Options nosniff;
### gzip ###
gzip on;
gzip_min_length 20; #default: 20
gzip_comp_level 9;
gzip_proxied any;
gzip_vary on;
gzip_types *;
gunzip on;
Run Code Online (Sandbox Code Playgroud)
我可以采取什么措施来停用此行为并将标头添加到 HTTP 错误响应甚至 gzip HTTP 500 响应中?