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
|