В моей локальной разработке (vagrant, apache, ubuntu) у меня нет проблем с настройкой Access-Control-Allow-Headers с использованием функции PHP-заголовков.
Но в производстве Litespeed на CENTOS 6.7. Функция заголовка php игнорируется, а Access-Control-Allow-Headers всегда установлен на
X-Accept-Charset,X-Accept,Content-Type.
Но я могу установить их в файле htaccess.
Header set Access-Control-Allow-Headers Origin, Content-Type, Accept, Authorization, X-Requested-With
Функция заголовков PHP работает в производстве для
Access-Control-Allow-Origin "*"
Это похоже на проблему с конфигурацией сервера, но я не могу понять, где она установлена.
Почему litespeed игнорирует функцию заголовка PHP для некоторых заголовков, а не для других?
Проблема была пробелы в заголовках …
Кажется, что и apache, и litespeed относятся к функции заголовка php и htaccess «header Set Blah … Blah» по-разному.
Таким образом, вы можете установить
X-Accept-Charset,X-Accept,Content-Type,Origin,
но нет
X-Accept-Charset, X-Accept, Content-Type, Origin
В разных местах. Пробелы работают в функции заголовка apache php, но не в Litespeed, а пробелы работают в «наборе заголовков» litespeed thaccess, но не в apache.
Других решений пока нет …