Re: как правильно написать правило proxy_redirect ?

Igor Sysoev igor на sysoev.ru
Пн Авг 2 14:46:17 MSD 2010


On Mon, Aug 02, 2010 at 04:36:05PM +0600, Илья Шипицин wrote:

> Добрый день!
> 
> есть вот такая связка
> 
> внешний мир ---(https)---->nginx---(http на порту 8066)--->backend
> 
> на один из запросов от бэкенда прилетает
> 
> Location:  https://auth.kontur.ru/Authenticate.aspx?back=http%3a%2f%2fr66-extern.kontur.ru%3a8066%2fLogin.aspx
> 
> как видим, здесь указан порт 8066 и протокол http. хотелось бы подменить его на
> 
> Location:  https://auth.kontur.ru/Authenticate.aspx?back=https%3a%2f%2fr66-extern.kontur.ru%2fLogin.aspx
> 
> конфиг я нарисовал такой:
> 
> ------------------------------------------------------------------------------------------
> worker_processes  1;
> 
> error_log  logs/error.log  notice;
> 
> events {
>     worker_connections  2048;
> }
> 
> 
> http {
>     server_tokens off;
>     include       mime.types;
>     default_type  application/octet-stream;
> 
>     access_log  logs/access.log  combined;
> 
>     sendfile        on;
>     keepalive_timeout  65;
> 
>     server {
>         listen       443  default backlog=1024 ssl;
>         server_name  localhost;
> 
>         ssl                  on;
>         ssl_certificate      cert.pem;
>         ssl_certificate_key  key.pem;
> 
>         ssl_session_timeout  5m;
> 
>         ssl_protocols  SSLv2 SSLv3 TLSv1;
>         ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
>         ssl_prefer_server_ciphers   on;
> 
>         location / {
>             proxy_pass http://vm-keweb5:8066;
>             proxy_cache off;
>             proxy_connect_timeout 500;
>             proxy_send_timeout 500;
>             proxy_read_timeout 500;
>             proxy_redirect
> https://auth.kontur.ru/Authenticate.aspx?back=http%3a%2f%2fr66-extern.kontur.ru%3a8066%2fLogin.aspx
> https://auth.kontur.ru/Authenticate.aspx?back=https%3a%2f%2fr66-extern.kontur.ru%2fLogin.aspx;
>         }
>     }
> 
> }
> ---------------------------------------------------------------
> 
> судя по сниферу (и по ответам http), подмена ответа не происходит. как
> это можно диагностировать ? в чем я ошибся ?

             proxy_redirect
- https://auth.kontur.ru/...
+ http://auth.kontur.ru/...
  https://auth.kontur.ru/...


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



Подробная информация о списке рассылки nginx-ru