Команда curl зависает на сервере nginx при загрузке файла через стандартный ввод
Прежде всего, я пытаюсь реализовать сервер repl для своего приложения node.js, я создал его с помощью этого gist. все в порядке, и я могу подключиться к своему repl-серверу с помощью этой команды на локальном хосте:
но когда я пытаюсь использовать nginx в качестве обратного прокси-сервера, эта команда зависает, и вывод не отображается:
$ curl -sSNT. test.localhost:8083 -I
HTTP/1.1 100 Continue
It hangs forever.
Действия по воспроизведению проблемы:
-
git clone https://github.com/mostafa8026/nginx-repl-curl.git
-
cd nginx-repl-curl
-
docker-compose build
- добавьте test.localhost к своим хостам
127.0.0.1 localhost test.localhost
-
docker-compose up -d
- и основная проблема:
curl -sSNT. test.localhost:8083 -I
РЕДАКТИРОВАТЬ
Как упоминалось в ответах, мы можем попробовать написать, а затем нажать
Ctrl+D
, но он закрывает соединение, как repl-сервер, основная цель - держать соединение открытым и отправлять команду, как в командной строке, например:
$ curl -sSNT. localhost:8000
Welcome to the Fun House
> echo me
echo me
> echo me again
echo me again
> bye
bye
> ^C
не так:
curl -sSNT. test.localhost:8083 -I
HTTP/1.1 100 Continue
echo me
HTTP/1.1 200 OK
Server: nginx/1.21.1
Date: Sat, 09 Apr 2022 12:58:37 GMT
Content-Type: multipart/octet-stream
Transfer-Encoding: chunked
Connection: keep-alive
Welcome to the Fun House
> echo me
> Ended
It hangs here
^C