--- distrib/nginx.default 2014-06-06 16:44:11.000000000 +0200 +++ modif/nginx.default 2014-07-25 15:43:38.361364595 +0200 @@ -7,6 +7,7 @@ proxy_buffers 6 32k; proxy_busy_buffers_size 32k; large_client_header_buffers 8 8k; +proxy_ssl_session_reuse off; %if not %%is_empty(%%revprox_default) server { @@ -32,12 +33,18 @@ %set %%dom_dict={} %if %%revprox_activate_http == 'oui' %for %%location_iter in %%revprox_domainname - %%dom_dict.setdefault(%%location_iter.value, []).append((%%location_iter.revprox_rep, %%location_iter.revprox_http, %%location_iter.revprox_https, %%location_iter.revprox_url)) + %%dom_dict.setdefault(%%location_iter.value, []).append((%%location_iter.revprox_rep, %%location_iter.revprox_http, %%location_iter.revprox_https, %%location_iter.revprox_url, '')) %end for %end if % if %%revprox_activate_http == 'oui' %if %%is_defined('web_url') and %%revprox_auto_config_local_web == 'oui' - %%dom_dict.setdefault(%%web_url, []).append(('/', 'redirige vers https', 'oui', 'https://'+%%container_ip_web)) + %%dom_dict.setdefault(%%web_url, []).append(('/', 'redirige vers https', 'oui', 'https://'+%%container_ip_web, '')) +%end if + +%if %%revprox_redirection_http == 'oui' + %for %%location_iter in %%revprox_redirection + %%dom_dict.setdefault(%%location_iter.value, []).append((%%location_iter.revprox_redirection_rep, 'redirige', 'redirige', '', %%location_iter.revprox_destination)) + %end for %end if %set %%rewrite_dict={} @@ -57,7 +64,7 @@ location = /nginx.html{ root /var/www/nginx-default; } - %for %%rep_iter, %%http_iter, %%https_iter, %%url_iter in %%dom_dict[%%revprox_iter] + %for %%rep_iter, %%http_iter, %%https_iter, %%url_iter, %%redirection in %%dom_dict[%%revprox_iter] %if %%http_iter == 'non' %continue %end if @@ -66,10 +73,17 @@ %else %set %%rep_location = '/' %end if + %if %%redirection == "" + %set %%redirection = "https://$host" + %end if location %%rep_location { - %if %%http_iter == 'redirige vers https' + %if %%http_iter in ['redirige vers https', 'redirige'] if ($host = "%%revprox_iter" ) { - rewrite ^(.*) https://$host$1 permanent; + %if %%rep_location != '/' and %%http_iter == 'redirige' + rewrite ^%%{rep_location}(.*) %%redirection/$1 permanent; + %else + rewrite ^(.*) %%redirection$1 permanent; + %end if break; } %elif %%http_iter == 'oui' @@ -131,7 +145,7 @@ tcp_nodelay on; } %end if -%for %%rep_iter, %%http_iter, %%https_iter, %%url_iter in %%dom_dict[%%revprox_iter] +%for %%rep_iter, %%http_iter, %%https_iter, %%url_iter, %%redirection in %%dom_dict[%%revprox_iter] %if not %%http_iter == 'redirige vers https' and %%https_iter == 'non' %continue %end if @@ -141,11 +155,21 @@ %set %%rep_location = '/' %end if location %%rep_location { -%if %%url_iter != '' + %if %%http_iter == 'redirige' + if ($host = "%%revprox_iter" ) { + %if %%rep_location != '/' + rewrite ^%%{rep_location}(.*) %%redirection/$1 permanent; + %else + rewrite ^(.*) %%redirection$1 permanent; + %end if + break; + } + %else + %if %%url_iter != '' proxy_pass %%url_iter; -%else + %else proxy_pass http://%%location_iter; -%end if % if %%url_iter != '' + %end if % if %%url_iter != '' proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; @@ -157,6 +181,7 @@ rewrite %%rewrite_regexp %%rewrite_replacement break; %end if %end for + %end if index 50x.html; root /var/www/nginx-default/; }