ПРОЕКТЫ 


  АРХИВ 


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]

Re: nginx как обычный прокси



5 марта 2011 г. 16:18 пользователь Igor Sysoev <igor@xxxxxxxxx> написал:
>        proxy_pass http://127.0.0.1:2080$request_uri;

О великий и могучий, тогда nginx будет отправлять (и отправляет) в
сторону прокси вот такой запрос:

GET /clients/phys/bc/work/cardlist/1.lan HTTP/1.0

А нам надо

GET http://bc.isbb/clients/phys/bc/work/cardlist/1.lan HTTP/1.0

Ибо Inter-Pro это не что иное как прокси, правда хитрозадый - на
сервере банка он авторизуется через ГОСТ + хитро подписывает
отправленные формы. Ну да в контексте темы это не важно. Огромное
спасибо за попытку помочь!


5 марта 2011 г. 17:22 пользователь Alex Vorona <voron@xxxxxxxxxx> написал:
> У меня похоже сработало
> rewrite ^ $tmp$uri break;

А вот это и действительно решение! Алекс, спасибо огромное! Итак,
новый рабочий конфиг:

server {
    listen               443 default;
    server_name          bc.mydomain;
    keepalive_timeout    70;

    ssl                  on;
    ssl_protocols        SSLv3 TLSv1;
    ssl_ciphers          AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;
    ssl_certificate      ssl/bc.mydomain.pem;
    ssl_certificate_key  ssl/bc.mydomain.key;
    ssl_client_certificate ssl/bc.mydomain-ca.pem;
    ssl_session_cache    shared:SSL:10m;
    ssl_session_timeout  10m;

    ssl_verify_client    on;

    if ($ssl_client_serial != MYSERIAL) {
        return   403;
    }

    location / {
        charset cp1251;

        sub_filter_once off;
        sub_filter "http://bc.isbb/"; "https://bc.mydomain/";;

        set $bchost "http://bc.isbb";;
        rewrite ^ $bchost$uri break;

        proxy_set_header Host bc.isbb;
        proxy_pass http://127.0.0.1:2080; # Inter-PRO proxy port
    }
}

Если интересно - далее планируется завернуть initscript (в общих чертах):

$ mkdir /tmp/$USER
$ export $DISPLAY=:7
$ Xvfb $DISPLAY -screen 0 640x480x24 -fbdir /tmp/$USER
$ WINEPREFIX="$HOME/.wine-bc" wine C:/InterPRO/intpro.exe

Ну а чтобы проконтролировать, что всё хоккей, можно продолжить:

$ x11vnc -display $DISPLAY -bg -nopw -listen 127.0.0.1 -xkb

В другой сессии (или вернув $DISPLAY) можно будет соединиться с
виртуальными иксами любым VNC - клиентом:
$ vinagre 127.0.0.1

Впрочем я сильно ушёл в оффтопик, но возможно кому то пригодится. Ещё
раз спасибо Алексу Вороне и Игорю Сысоеву (в алфавитном порядке) !!!

-- 
Cogitum ergo sum
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.