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

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


Письмо было отбаунсено из-за слова index. Поправил.

> Есть в конфиге такой сервер:
>     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;


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





More information about the nginx-ru mailing list