LINUX.ORG.RU

/dev/urandom in Apache


0

0

Приветствую!

Хочу расшарить свой /dev/urandom через http. Сделал на него симлинк, разрешил симлинки в апаче. Тока wget'ом грузится файл нулевой длины. Почему не работает?

сделал скрипт, распечатывающий /dev/urandom. Но при загрузке, как-будто на сервере кешируется и до скачивания не доходит.

$ cat a.cgi 
#!/bin/bash

cat /dev/urandom

henturis
() автор топика
Ответ на: комментарий от henturis

А какой веб-сервер используешь? И что при этом в его логах, а так же какие процессы работают? Только что проверил на домашнем апаче:

[2009.02.19 18:02:43] ivan@ivan-laptop ~
$ wget http://homeserver.loc/cgi-bin/test.sh
--2009-02-19 18:02:45-- http://homeserver.loc/cgi-bin/test.sh
Распознаётся homeserver.loc... 172.16.0.1
Устанавливается соединение с homeserver.loc|172.16.0.1|:80... соединение установлено.
Запрос HTTP послан, ожидается ответ... 200 OK
Длина: нет информации [application/octet-stream]
Сохраняется в каталог: `test.sh'.

[ <=> ] 28 628 392 2,46M/s ^C

> Может он размер файла пытается получить? Как это отключить?


Не должен. Он до первой пустой строки читает заголовки, а потом начинает отправлять клиенту данные. А если длинна данных (поле Content-Length) не указана, то сервер считает поток бесконечным и передаёт его пока клиенту не надоест. В принципе можно добавить в заголовки Content-Length и скопировать из /dev/urandom только нужное количество байт при помощи dd или head.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.