В Чтв, 28/10/2010 в 05:40 +0300, Dank Bagryantsev пишет: > ... > пока никаких толковых наработок я не нашел в этом направлении.
Там наработок-то... В простейшем случае для http:// на nginx'е конфигурация для сайта вида server { listen 80; server_name .service.tld; proxy_set_header Host $host; location /auth { if ($request_method = POST ) { proxy_pass http://filter_host; } proxy_pass http://service.tld; } location / { proxy_pass http://service.tld; } } И на filter_host выполнять подмену паролей в отправляемых POST'ах. Например, так: ---------------------- #!/usr/bin/perl -w use strict; use HTTP::Proxy; use HTTP::Proxy::BodyFilter; my $proxy = HTTP::Proxy->new(port => 80); $proxy->push_filter( mime => 'text/html', request => HTTP::Proxy::BodyFilter->new( sub { my ( $self, $dataref, $message, $protocol, $buffer ) = @_; $$dataref =~ s/fakepassword/realpassword/g; } ) ); $proxy->start; ---------------------- (Выдрано из документации к HTTP::Proxy, работоспособность не проверялась.) > ... но если доступ к nginx будет все-равно через VPN, то > можно будет попробовать вариант перебрасывать с http nginx'a на https > сайтов (где https обязателен), чтобы избежать самоподписанных сертификатов. Этот вариант сильно хуже - придётся разбирать на прокси-сервере все ответы и менять https:// на http:// перед отправкой их клиенту. И наоборот. Причём только в нужных URL. > Кстати, а вариант с промежуточным http-сервером и открытием сайтов во > фреймах и внесение-отсылка логинов-паролей через JavaScript, в моем > случае будет работоспособным? Зависит от сайтов. На первый взгляд, потребует больше программного кода на стороне сервера, и передачу на сторону пользователей (и потенциальных троянов на их машинах) исходных паролей. -- С уважением, Николай Фетисов _______________________________________________ Sysadmins mailing list Sysadmins@lists.altlinux.org https://lists.altlinux.org/mailman/listinfo/sysadmins