diff src/http/modules/ngx_http_proxy_module.c @ 324:f7cd062ee035 NGINX_0_6_6

nginx 0.6.6 *) Feature: the --sysconfdir=PATH option in configure. *) Feature: named locations. *) Feature: the $args variable can be set with the "set" directive. *) Feature: the $is_args variable. *) Bugfix: fair big weight upstream balancer. *) Bugfix: if a client has closed connection to mail proxy then nginx might not close connection to backend. *) Bugfix: if the same host without specified port was used as backend for HTTP and HTTPS, then nginx used only one port - 80 or 443. *) Bugfix: fix building on Solaris/amd64 by Sun Studio 11 and early versions; bug appeared in 0.6.4.
author Igor Sysoev <http://sysoev.ru>
date Mon, 30 Jul 2007 00:00:00 +0400
parents 95183808f549
children 1c519aff5c0c
line wrap: on
line diff
--- a/src/http/modules/ngx_http_proxy_module.c
+++ b/src/http/modules/ngx_http_proxy_module.c
@@ -2237,6 +2237,7 @@ ngx_http_proxy_pass(ngx_conf_t *cf, ngx_
             if (port == 80) {
                 plcf->port.len = sizeof("80") - 1;
                 plcf->port.data = (u_char *) "80";
+
             } else {
                 plcf->port.len = sizeof("443") - 1;
                 plcf->port.data = (u_char *) "443";
@@ -2275,13 +2276,17 @@ ngx_http_proxy_pass(ngx_conf_t *cf, ngx_
 
     plcf->upstream.location = clcf->name;
 
+    if (clcf->named
 #if (NGX_PCRE)
-
-    if (clcf->regex || clcf->noname) {
+        || clcf->regex
+#endif
+        || clcf->noname)
+    {
         if (plcf->upstream.uri.len) {
             ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
                                "\"proxy_pass\" may not have URI part in "
                                "location given by regular expression, "
+                               "or inside named location, "
                                "or inside the \"if\" statement, "
                                "or inside the \"limit_except\" block");
             return NGX_CONF_ERROR;
@@ -2290,8 +2295,6 @@ ngx_http_proxy_pass(ngx_conf_t *cf, ngx_
         plcf->upstream.location.len = 0;
     }
 
-#endif
-
     plcf->upstream.url = *url;
 
     if (clcf->name.data[clcf->name.len - 1] == '/') {