ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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




Письмо было отбаунсено из-за слова 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




 




Copyright © Lexa Software, 1996-2009.