Size: a a a

2020 February 12

Vs

Vladislav support.od.ua in nginx_ru
источник

В

Влад in nginx_ru
Anton Noginov
Что ваш скрипт отдает в stdout?
он конечно отрабатывает, но при не правильном Content-type он отдает failed
источник

AN

Anton Noginov in nginx_ru
Причем здесь content-type? Консоль ничего не знает про это.
Что ваш скрипт отдает в stdout, когда запускается из консоли?
источник

В

Влад in nginx_ru
не понимаю, какая разница что отдает скрипт? там куча параметров, вот именно с одним параметром трабл, вариант что то править в скрипте не вариант, нужно какое то решение найти с nginx.. либо оставаться на апаче..
источник

В

Влад in nginx_ru
content-type тут при том что если я его явно передам курлом то скрипт отработает
источник

В

Влад in nginx_ru
если добавлю к своем запросу --header 'Content-Type: text/xml' то все ок
источник

В

Влад in nginx_ru
но мне нужно что бы по дефолту без указания проставлялся этот тип контента..
источник

JK

Jug Kettle in nginx_ru
Влад
а хочу
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 12 Feb 2020 13:50:50 GMT
Content-Type: text/xml; charset=utf-8
Content-Length: 36
Connection: keep-alive
Expires: Mon, 04 Jul 2003 05:00:00 GMT
Cache-Control: no-cache, must-revalidate;
Access-Control-Allow-Origin: *
но это же в коде скрипта cgi правится, не?
источник

В

Влад in nginx_ru
нет.. если я запускаю скрипт на apache то апач проставляет нужный мне контент тайп
источник

AN

Anton Noginov in nginx_ru
> не понимаю, какая разница что отдает скрипт?

CGI предполагает, что первой строкой в stdout будет Content-Type, который передается дальше веб-серверу, а веб-сервер - передает его клиенту.
Почитайте уже наконец спецификацию протокола.
источник

JK

Jug Kettle in nginx_ru
Влад
нет.. если я запускаю скрипт на apache то апач проставляет нужный мне контент тайп
удивительно, а как это в апаче настроено было?
источник

AN

Anton Noginov in nginx_ru
6.2.1.  Document Response

  The CGI script can return a document to the user in a document
  response, with an optional error code indicating the success status
  of the response.

     document-response = Content-Type [ Status ] *other-field NL
                         response-body
источник

В

Влад in nginx_ru
Anton Noginov
> не понимаю, какая разница что отдает скрипт?

CGI предполагает, что первой строкой в stdout будет Content-Type, который передается дальше веб-серверу, а веб-сервер - передает его клиенту.
Почитайте уже наконец спецификацию протокола.
я понял, спасибо, но все упираеться в то что нужно в скрипте поправлять, но это не вариант..
источник

MD

M Dan in nginx_ru
Влад
я понял, спасибо, но все упираеться в то что нужно в скрипте поправлять, но это не вариант..
Почему не вариант
источник

MD

M Dan in nginx_ru
Пхп поправить не сложно
источник

В

Влад in nginx_ru
вот запускаю скрипт с консоли
Content-type: text/plain; charset=Windows-1251
Expires: Mon, 04 Jul 2003 05:00:00 GMT
X-Accel-Expires: 0
Cache-Control: no-cache, must-revalidate;

<result status="error">login or password is empty</result>
источник

AN

Anton Noginov in nginx_ru
Нет, ничего в скрипте править не надо.
Надо написать на шелле враппер в две строки.
источник

В

Влад in nginx_ru
это не php
источник

В

Влад in nginx_ru
Anton Noginov
Нет, ничего в скрипте править не надо.
Надо написать на шелле враппер в две строки.
немного не понял, а можно подробнее про враппер?
источник

AN

Anton Noginov in nginx_ru
# ./script.cgi
Content-type: text/plain; charset=Windows-1251
Expires: Mon, 04 Jul 2003 05:00:00 GMT
X-Accel-Expires: 0
Cache-Control: no-cache, must-revalidate;

<result status="error">login or password is empty</result>


# ./wrapper.cgi
Content-type: application/json
Expires: Mon, 04 Jul 2003 05:00:00 GMT
X-Accel-Expires: 0
Cache-Control: no-cache, must-revalidate;

<result status="error">login or password is empty</result>

# cat wrapper.cgi
#!/bin/bash
echo Content-type: application/json

./script.cgi | grep -v ^Content-type

#
источник