Download | Plain Text | No Line Numbers


  1. diff -Naur httpd-2.4.10.orig/modules/proxy/mod_proxy.c httpd-2.4.10/modules/proxy/mod_proxy.c
  2. --- httpd-2.4.10.orig/modules/proxy/mod_proxy.c 2014-06-21 15:47:30.000000000 +0200
  3. +++ httpd-2.4.10/modules/proxy/mod_proxy.c 2014-11-18 15:45:08.269718560 +0100
  4. @@ -2632,12 +2632,16 @@
  5. */
  6. worker = (proxy_worker *)conf->workers->elts;
  7. for (i = 0; i < conf->workers->nelts; i++, worker++) {
  8. + if (!strncasecmp(worker->s->name, "proxy://forward", 15)
  9. + || !strncasecmp(worker->s->name, "proxy://reverse", 15))
  10. + continue;
  11. ap_proxy_initialize_worker(worker, s, conf->pool);
  12. }
  13. /* Create and initialize forward worker if defined */
  14. if (conf->req_set && conf->req) {
  15. - proxy_worker *forward;
  16. - ap_proxy_define_worker(p, &forward, NULL, NULL, "http://www.apache.org", 0);
  17. + proxy_worker *forward = ap_proxy_get_worker(p, NULL, conf, "proxy://forward");
  18. + if (!forward)
  19. + ap_proxy_define_worker(p, &forward, NULL, NULL, "http://www.apache.org", 0);
  20. conf->forward = forward;
  21. PROXY_STRNCPY(conf->forward->s->name, "proxy:forward");
  22. PROXY_STRNCPY(conf->forward->s->hostname, "*");
  23. @@ -2655,7 +2659,9 @@
  24. conf->forward->s->is_address_reusable = 0;
  25. }
  26. if (!reverse) {
  27. - ap_proxy_define_worker(p, &reverse, NULL, NULL, "http://www.apache.org", 0);
  28. + reverse = ap_proxy_get_worker(p, NULL, conf, "proxy://reverse");
  29. + if (!reverse)
  30. + ap_proxy_define_worker(p, &reverse, NULL, NULL, "http://www.apache.org", 0);
  31. PROXY_STRNCPY(reverse->s->name, "proxy:reverse");
  32. PROXY_STRNCPY(reverse->s->hostname, "*");
  33. PROXY_STRNCPY(reverse->s->scheme, "*");
  34.