проксирование в мир

Alex Vorona voron at amhost.net
Sat May 3 20:31:04 MSD 2008


Alex Vorona пишет:
> Привет
>
> Что можете сказать по безопасности конструкции
>
>         location ^~ /remote {
>         internal;
>         x_accel_redirect off;
>             rewrite /remote/([^/]+)  $1/  break; # добавляем в конец /
> для /remote/domain.com
>             rewrite /remote/(.+)  $1  break;
>             proxy_pass http://$uri?$args;
>         }
>
> используемой в SSI
> <!--#include
> virtual="/remote/untrustedremotehost.com/sub/dir/file.php" -->
>
> error_page в /remote не заворачиваются
>
>
Вот такое получилось
        location ^~ /remote {
            internal; #ssi, error_page, rewrite, x-accel-redirect!
            x_accel_redirect off;
            proxy_buffers 4 32k;
            proxy_max_temp_file_size  0;
            proxy_pass_request_headers   off;
            proxy_pass_request_body      off;
            proxy_read_timeout 60;
            proxy_send_timeout 60;

            set $remhost "";
            rewrite ^/remote/([^/]+)$  /remote/$1/  ; # добавляем в
конец / для /remote/domain.com
            if ($uri ~* "^/remote/([^/]+)/") {
                set $remhost $1;
            }
            rewrite /remote/(.+)  $1  break;

            proxy_set_header  Host  $remhost;
            proxy_pass http://$uri$is_args$args;

            #sub_filter_types text/css text/javascript
application/x-javascript;
            sub_filter_once off;
           
#script|body|html|iframe|object|applet|meta|style|img|onmouse|onclick|onfocus|onload|onblur|frameset|frame
            sub_filter iframe  '';
        }


Пофильтровать тэги не получилось, sub_filter только один раз можно указать.





More information about the nginx-ru mailing list