Почему приходит запрос с пустым $_POST?

Не могу получить данные из POST запроса, приходит пустой массив.
  1. Если отправляю GET запрос - данные попадают в $_GET и $_REQUEST
  2. При POST запросе:
    • $_REQUEST пустой
    • $_POST пустой
    • file_get_contents('php://input') пустой
    • file_get_contents('php://stdin') зависает и отваливается через минуту по таймауту



Вот тестовые скрипты:
https://my.hosting.digitalmakers.ru/mancgi/resultt... - тут форма
https://my.hosting.digitalmakers.ru/mancgi/resultt... - сюда приходит запрос

Код скрипта с формой:
echo "Content-Type: text/html\n\n";

echo "<form method='POST' action='/mancgi/resulttest.php'>";
echo "<input type='hidden' name='WMI_DATA' value='Success'/>";
echo "<input type='submit' value='GO!'/>";
echo "</form>";


Код скрипта, который ловит запрос:
echo "Content-Type: text/html\n\n";

$data = file_get_contents('php://input');
print "DATA: <pre>";
var_dump($data);
var_dump($_POST);
print "</pre>";


Т.к. я думаю что это проблема Nginx'a, то вот его конфиг:
# domain for ISPmanager and BILLmanager
server {	
       listen 82.146.54.197:443;
       server_name my.hosting.digitalmakers.ru;	
       ssl on;	
       ssl_certificate /usr/local/mgr5/etc/manager.crt;	
       ssl_certificate_key /usr/local/mgr5/etc/manager.key; 	
 
       set $mgr_proxy "http://82.146.54.197:1500";         
         
       location ^~ /manimg/ { 		
              alias /usr/local/mgr5/skins/; 	
       } 	
       
       location / { 		
                proxy_pass $mgr_proxy; 		
                proxy_redirect $mgr_proxy /; 		
                proxy_set_header Host $host:$server_port; 		
                proxy_set_header X-Forwarded-For $remote_addr; 		
                proxy_set_header X-Forwarded-Proto $scheme; 		
                proxy_set_header X-Real-IP $remote_addr;                
                proxy_set_header X-Forwarded-Secret 062IfeqaXeQERTT;  		
                chunked_transfer_encoding off; 
 	}

 	location ^~ /mancgi/ {
	        proxy_pass $mgr_proxy;
	        proxy_redirect $mgr_proxy /;
	        proxy_set_header Host $host:$server_port;
	        proxy_set_header X-Forwarded-For $remote_addr; 
             proxy_set_header X-Forwarded-Proto $scheme;
	        proxy_set_header X-Real-IP $remote_addr;
	        proxy_set_header X-Forwarded-Secret 062IfeqaXeQERTT;
	        chunked_transfer_encoding off;
          
          include fastcgi_params;
          fastcgi_param QUERY_STRING $query_string;
          fastcgi_param REQUEST_METHOD $request_method;
          fastcgi_param CONTENT_TYPE $content_type;
          fastcgi_param CONTENT_LENGTH $content_length;
	}
}


php.ini весь прошерстил на наличие возможных проблем:
  • post_max_size 10M
  • enable_post_data_reading On
  • request_order GP
  • variables_order GPCS


Подскажите, в чем может быть проблема? Третий день копаюсь с ней.

P.S. GET данные так-же отловить не удается. $_GET и $_REQUEST пустые
  • Вопрос задан
  • 1347 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Arik
А если скопировать в конец "location / " что есть в /mancgi/?
include fastcgi_params;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
Ответ написан
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
В вашем конфиге nginx написано "проксируй всё в ispmanager" (ну или "на этом вхосте нужно открывать только ispmanager").

Сайт в панели создайте, потом уже пытайтесь что-то делать.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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