Снимите с ручника

Igor Sysoev is at rambler-co.ru
Fri May 27 15:42:44 MSD 2005


On Fri, 27 May 2005, Andrey N. Oktyabrski wrote:

> Igor Sysoev wrote:
>>> Есть в конфиге такой сервер:
>>>     server { server_name box.localnet.antora;
>>>     root    /home/cbr/public_html;
>>>         location /      { index index.shtml; }
>>>     location ~* \.shtml$ {
>>>         ssi        on;
>>>         index        index.shtml;
>>>     }
>>>     location /cgi-bin {
>>>                 proxy_set_header    Host            $host:$server_port;
>>>         proxy_pass          http://localhost:8123;
>>>     }
>>>     }
>>> 
>>> В index.shtml есть такая строчка:
>>> <!--#include virtual="/cgi-bin/tab1.pl"-->
>> 
>>> "GET //tab1.pl HTTP/1.0
>> 
>>> То есть, он почему-то передаёт запрос
>>> GET //tab1.pl HTTP/1.0
>>> вместо
>>> GET /cgi-bin/tab1.pl HTTP/1.0
>>> Что я не так сделал? Блин, второй час туплю, не могу догадаться...
>>> 
>>> Да, nginx-0.1.33 из портов freebsd, если это имеет значение.
>> 
>> Потому что proxy_pass работает, как alias, за исключением трёх случаев,
>> описанных в
>> http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_pass
>> 
>> В запросе /cgi-bin/tab1.pl строка /cgi-bin (из location) была заменена
>> на /, получилось //tab1.pl.
>> 
>> Нужно так:
>>     location /cgi-bin {
>>     proxy_pass       http://localhost:8123/cgi-bin;
> Спасибо! Помогло :-)
> Да, вот ещё какая проблема есть:
> <!--#include virtual="menu.html" -->
> не работает, а
> <!--#include virtual="/menu.html" -->
> работает.

<!--#include virtual="menu.html" -->
не попадает ни в один location из "/", "~* \.shtml$" и "/cgi-bin"
и обрабатывается в конфигурации сервера, и скорее всего, для него
используется файл /home/cbr/public_htmlmenu.html, не разделённый слэшем.

> P.S. Документацию бы... (мечтательно так)

Пишем по-маленьку.


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list