EnChikiben
@EnChikiben

Настройка nginx, почему не передается запрос на php-fpm?

Добрый день!
Есть вот такой конфик:
server {
        charset utf-8;
        client_max_body_size 128M;

        listen 80; ## listen for ipv4

        server_name tes.lc;
        root        /path/web;
        index       index.php;

        location / {
                try_files $uri $uri/ /index.php?$args;
        }

        location ~* \.php$ {
                fastcgi_index   index.php;
                fastcgi_pass   unix:/var/run/php5-fpm.sock;
                include         fastcgi_params;
                fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
                fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
        }
}

и есть открыть сайт то он все работает, но если послать кросс доменный запрос то сначала посылается "preflight" запрос OPTIONS и он почему то не приходит на php. Подскажите как быть?
  • Вопрос задан
  • 722 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Nc_Soft
Как по мне, лучше обрабатывать options самим же nginx, чтобы не дергать пхп лишний раз
Вместо add_header 'Access-Control-Allow-Origin' "$http_origin"; на продакшене надо захардкодить домен

if ($request_method = 'OPTIONS') {
			add_header 'Access-Control-Allow-Origin' "$http_origin";
			add_header 'Access-Control-Allow-Credentials' 'true';
			add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
			add_header 'Access-Control-Allow-Headers' 'Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Origin,Accept';
			add_header 'Content-Type' 'application/json';
			add_header 'Content-Length' 0;
 
			return 204;
		}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы