У меня есть такой блок сервера nginx, и я пытаюсь использовать proxy_hide_header
директива, чтобы скрыть Content-Security-Policy
заголовок ответа от прокси-сервера, потому что я не использую SSL-сервер в локальной среде, и поэтому принудительное обновление, вызванное этим заголовком, бесполезно.
server {
include conf.d/environment.conf;
listen 80;
server_name ~^app.*\.acme\..*;
location / {
proxy_hide_header "Content-Security-Policy";
proxy_pass $app_endpoint$uri$is_args$args;
proxy_http_version 1.1;
proxy_set_header Host $host;
}
}
Если я протестирую прокси nginx с помощью curl:
curl -s -v http://app.acme.io/app/path/ >/dev/null
тогда это происходит:
> GET /app/path/ HTTP/1.1
> Host: app.acme.io
> User-Agent: curl/7.64.1
> Accept: */*
>
< HTTP/1.1 200
< Server: nginx
< Date: Tue, 02 Jun 2020 14:38:16 GMT
< Content-Type: text/html;charset=ISO-8859-1
< Content-Length: 4231
< Connection: keep-alive
< X-Frame-Options: SAMEORIGIN
< X-Content-Type-Options: nosniff
< X-XSS-Protection: 1; mode=block
< Content-Security-Policy: upgrade-insecure-requests
< Referrer-Policy: strict-origin-when-cross-origin
<
Другими словами, proxy_hide_header
директива не дает ожидаемого эффекта.
[Я знаю, что показанный серверный блок - это обрабатываемый серверный блок, потому что он единственный, который ссылается на интересующий прокси-сервер, и я знаю, что это именно проксируемый сервер. ]
Почему не proxy_hide_header
директива работает в этом случае?