Моя команда и я работаем над API Laravel, который взаимодействует с внешним интерфейсом Vue.js, который использует клиент Apollo для получения ответов GraphQL.
У нас есть проблема с заголовками контроля кэша, добавляемыми к ответу.
Apollo не может кэшировать содержимое, потому что ответ содержит этот заголовок:
Cache-Control: no-cache, private
В php.ini у нас есть это, чтобы отключить отправку заголовков управления кэшем через PHP:
; Set to {nocache,private,public,} to determine HTTP caching aspects
; or leave this empty to avoid sending anti-caching headers.
; http://php.net/session.cache-limiter
session.cache_limiter =
В конфиге nginx мы не можем найти ничего, что устанавливает эти заголовки. Я проверил глобальный файл nginx.conf и конфигурационный файл, который мы настроили на сайтах / available.
Я могу добавить это в конфиг nginx, но он только добавит еще один заголовок:
add_header Cache-Control "public";
Cache-Control: no-cache, private
Cache-Control: public
Если этот заголовок не исходит от PHP или nginx, то откуда он может быть?
И как я могу удалить или перезаписать это?
в любом промежуточном программном обеспечении вы можете использовать этот пример
public function handle($request, Closure $next)
{
$response= $next($request);
return $response->header('X-TEST-HEADER','test header value');
}
но я не знаю, как решить эту проблему
Других решений пока нет …