Снимите с ручника
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