mod_aclr
Dmitriy MiksIr
miksir at maker.ru
Fri Dec 23 17:06:29 MSK 2005
В таком случае к тестированию предлагаю модуль =)
Идея модуля такова - но становится обработчиком */* запросов. Апач
вызывает этот хендлер только если не было никаких других обработок его,
т.е. имеем то, что нам надо - выдачу голого файла.
В этом случае модуль выдает X-Accel-Redirect без тела самого файла
(устанавливая Content-Length: 0)
Переданный X-Accel-Redirect состоит из двух частей - строки, принятой от
вронтенда в заголовке X-Accel-Internal и собственно URI.
Таким образом конфиг nginx выгладит приблизительно так:
server {
listen 81;
server_name www;
location / {
proxy_pass http://127.0.0.1:80;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Accel-Internal /internal_843t;
proxy_set_header Host $http_host;
proxy_redirect_errors on;
}
location /internal_843t/ {
root /path/to/htdocs/;
rewrite ^/internal_843t/(.*)$ /$1 break;
index index.html index.htm;
internal;
}
}
Модуль, собственно, умеет 2 директивы
AccelRedirectSet [On|Off]
Включение модуля
AccelRedirectSize number[k|M]
Установка минимального размера запрашиваемого файла, начиная с
которого будут выдаваться редиректы
Контенты обоих директив: server config, virtual host, directory
Установка в апач, конечно же
/usr/local/apache/bin/apxs -c mod_aclr.c
/usr/local/apache/bin/apxs -i mod_aclr.so
И руками добавить
LoadModule aclr_module libexec/mod_aclr.so
AddModule mod_aclr.c
Буду признателен за любые замечания, как по алгоритму, так и по коду.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: mod_aclr.c
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20051223/2602db45/attachment.c>
More information about the nginx-ru
mailing list