Search found 32 matches
- 08 December 2012, 22:14
- Forum: Форум системы ejudge
- Topic: Ejudge CGI под Nginx
- Replies: 22
- Views: 52251
Re: Ejudge CGI под Nginx
uWSGI делает так. http://projects.unbit.it/uwsgi/wiki/CGI При GET запросе CONTENT_LENGTH не передается. В RFC говорится, что CONTENT_LENGTH указывается когда есть message-body. А иначе можно не указывать. If no data are attached, then this metavariable is not defined. http://www.rfc-editor.org/rfc/r...
- 08 December 2012, 13:27
- Forum: Форум системы ejudge
- Topic: Ejudge CGI под Nginx
- Replies: 22
- Views: 52251
Re: Ejudge CGI под Nginx
Здравствуйте. Я обнаружил еще одну проблему. В некоторых случаях переменная CONTENT_LENGTH не указывается, и тогда cgi скрипт зависает так как content_length по умолчянию равен MAX_INT. Все работает если по умолчанию указывать значение 0. http://ejudge.ru/trac/browser/trunk/ejudge/cgi.c#L63 Я провер...
- 18 May 2012, 11:31
- Forum: Форум системы ejudge
- Topic: Ejudge CGI под Nginx
- Replies: 22
- Views: 52251
Re: Ejudge CGI под Nginx
Отлично. Заработало.
- 17 May 2012, 23:31
- Forum: Форум системы ejudge
- Topic: Ejudge CGI под Nginx
- Replies: 22
- Views: 52251
Re: Ejudge CGI под Nginx
При запросе на new-master по URL http://localhost:8080/new-master?SID=133836515e1aea57&contest_id=1&action=3 получаю пустоту. В логах выписывается при этом ej-users.log Fri May 18 02:26:52 2012:info:PRIV_COOKIE_LOGIN: 127.0.0.1, 0, 1, 133836515e1aea57 -> OK, 1, e6924539d957453a ej-contests.log Fri M...
- 17 May 2012, 23:14
- Forum: Форум системы ejudge
- Topic: Ejudge CGI под Nginx
- Replies: 22
- Views: 52251
Re: Ejudge CGI под Nginx
Хехе! Ответ тут client_put_refresh_header(config->charset, buf, 0, "Login successfull"); printf("<p>%s</p>", _("Login successfull. Now entering the main page.")); printf("<p>If automatic updating does not work, click on <a href=\"%s\">this</a> link.</p>", buf); Точнее в функции client_put_refresh_he...
- 17 May 2012, 23:00
- Forum: Форум системы ejudge
- Topic: Ejudge CGI под Nginx
- Replies: 22
- Views: 52251
Re: Ejudge CGI под Nginx
Еще такой момент. Может он поможет понять в чем проблема. При входе в serve-control пустота не выходит. Но поведение тоже не обычное. На апаче после логина всегда попадаем на страницу со списком контестов. А под Nginx+uWSGI получаем Login successfull. Now entering the main page. If automatic updatin...
- 17 May 2012, 22:56
- Forum: Форум системы ejudge
- Topic: Ejudge CGI под Nginx
- Replies: 22
- Views: 52251
Re: Ejudge CGI под Nginx
Проверил. Теперь запрос не зависает. Но при POST запросе все также пустота.
- 16 May 2012, 21:07
- Forum: Форум системы ejudge
- Topic: Ejudge CGI под Nginx
- Replies: 22
- Views: 52251
Re: Ejudge CGI под Nginx
Еще такой вопрос, по поводу зависания из-за не закрытого потока. Чтобы понять кого просить ввести корректировки, я решил немного поискать на эту тему. В RFC CGI/1.1 http://www.ietf.org/rfc/rfc3875 в разделе 4.2 Request Message-Body A request-body is supplied with the request if the CONTENT_LENGTH is...
- 16 May 2012, 20:11
- Forum: Форум системы ejudge
- Topic: Ejudge CGI под Nginx
- Replies: 22
- Views: 52251
Re: Ejudge CGI под Nginx
На stdin приходит это:
Code: Select all
login=admin&password=q&contest_id=1&role=6&locale_id=0&submit=Submit
- 15 May 2012, 13:20
- Forum: Форум системы ejudge
- Topic: Интеграция с Ejudge 2
- Replies: 1
- Views: 6867
Интеграция с Ejudge 2
Здравствуйте! Когда-то мы уже говорили на похожую тему http://ejudge.ru/forum/viewtopic.php?f=5&t=1580 Мне хочется упростить интеграцию между ejudge и своим проектом. У меня родилась такая мысль. ejudge-contests-cmd по сути клиентская программа, формирует запрос и отправляет его через сокет. в ejudg...
- 14 May 2012, 22:57
- Forum: Форум системы ejudge
- Topic: Ejudge CGI под Nginx
- Replies: 22
- Views: 52251
Re: Ejudge CGI под Nginx
Разница видна только в
REQUEST_METHOD
CONTENT_TYPE
CONTENT_LENGTH
REMOTE_PORT
в первом варианте нет
HTTP_CONTENT_LENGTH
HTTP_ORIGIN
HTTP_CONTENT_TYPE
HTTP_REFERER
Почему-то думается, что эти различия не существенны. Скорее всего чего-то не хватает.
REQUEST_METHOD
CONTENT_TYPE
CONTENT_LENGTH
REMOTE_PORT
в первом варианте нет
HTTP_CONTENT_LENGTH
HTTP_ORIGIN
HTTP_CONTENT_TYPE
HTTP_REFERER
Почему-то думается, что эти различия не существенны. Скорее всего чего-то не хватает.
- 14 May 2012, 22:52
- Forum: Форум системы ejudge
- Topic: Ejudge CGI под Nginx
- Replies: 22
- Views: 52251
Re: Ejudge CGI под Nginx
Здравствуйте. Прошу прощения, что долго не отвечал. Во время GET запроса (форма логин отображается нормально) SSH_AGENT_PID=2267 GPG_AGENT_INFO=/tmp/keyring-t1DQ6I/gpg:0:1 SHELL=/bin/bash TERM=xterm XDG_SESSION_COOKIE=b8a69e876629ef3495d548ee0000000c-1337023616.172421-558086907 WINDOWID=62916563 GNO...
- 10 May 2012, 02:14
- Forum: Форум системы ejudge
- Topic: Ejudge CGI под Nginx
- Replies: 22
- Views: 52251
Re: Ejudge CGI под Nginx
Нет. new-master завершает работу. Мне кажется, что проблема в том, что uwsgi передает не все трубуемые переменные. Но у меня не хватило сил разобраться что из себя представляет new-master и как он взаимодействует с CGI.
У вас был опыт запуска ejudge-cgi не под apache?
У вас был опыт запуска ejudge-cgi не под apache?
- 09 May 2012, 03:39
- Forum: Форум системы ejudge
- Topic: Ejudge CGI под Nginx
- Replies: 22
- Views: 52251
Re: Ejudge CGI под Nginx
Версия ejudge 2.3.21
- 09 May 2012, 03:37
- Forum: Форум системы ejudge
- Topic: Ejudge CGI под Nginx
- Replies: 22
- Views: 52251
Re: Ejudge CGI под Nginx
Я покапался в кодах и понял, что CGI программы пытаются прочитать с stdin всегда. http://ejudge.ru/trac/browser/trunk/ejudge/cgi.c#L72 А uWSGI скорее всего не закрывает входящий поток http://projects.unbit.it/uwsgi/browser/plugins/cgi/cgi_plugin.c#L957 По этому скрипт и зависает. Я похимичил с uwsgi...