You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ji...@apache.org on 2016/05/21 15:13:52 UTC
svn commit: r1744951 [16/17] - in /httpd/httpd/branches/2.4.x: ./
docs/manual/ docs/manual/developer/ docs/manual/howto/ docs/manual/misc/
docs/manual/mod/ docs/manual/platform/ docs/manual/programs/
docs/manual/rewrite/ docs/manual/ssl/ docs/manual/vh...
Modified: httpd/httpd/branches/2.4.x/docs/manual/sitemap.html.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/sitemap.html.fr?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/sitemap.html.fr (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/sitemap.html.fr Sat May 21 15:13:48 2016
@@ -287,8 +287,10 @@ pour d�crire les directives Apache</a><
<li><a href="mod/mod_proxy_fcgi.html">Module Apache mod_proxy_fcgi</a></li>
<li><a href="mod/mod_proxy_fdpass.html">Module Apache mod_proxy_fdpass</a></li>
<li><a href="mod/mod_proxy_ftp.html">Module Apache mod_proxy_ftp</a></li>
+<li><a href="mod/mod_proxy_hcheck.html">Module Apache mod_proxy_hcheck</a></li>
<li><a href="mod/mod_proxy_html.html">Module Apache mod_proxy_html</a></li>
<li><a href="mod/mod_proxy_http.html">Module Apache mod_proxy_http</a></li>
+<li><a href="mod/mod_proxy_http2.html">Module Apache mod_proxy_http2</a></li>
<li><a href="mod/mod_proxy_scgi.html">Module Apache mod_proxy_scgi</a></li>
<li><a href="mod/mod_proxy_wstunnel.html">Module Apache mod_proxy_wstunnel</a></li>
<li><a href="mod/mod_ratelimit.html">Module Apache mod_ratelimit</a></li>
Modified: httpd/httpd/branches/2.4.x/docs/manual/sitemap.html.ja.utf8
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/sitemap.html.ja.utf8?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/sitemap.html.ja.utf8 [utf-8] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/sitemap.html.ja.utf8 [utf-8] Sat May 21 15:13:48 2016
@@ -251,8 +251,10 @@
<li><a href="mod/mod_proxy_fcgi.html">Apache \u30e2\u30b8\u30e5\u30fc\u30eb mod_proxy_fcgi</a></li>
<li><a href="mod/mod_proxy_fdpass.html">Apache \u30e2\u30b8\u30e5\u30fc\u30eb mod_proxy_fdpass</a></li>
<li><a href="mod/mod_proxy_ftp.html">Apache \u30e2\u30b8\u30e5\u30fc\u30eb mod_proxy_ftp</a></li>
+<li><a href="mod/mod_proxy_hcheck.html">Apache \u30e2\u30b8\u30e5\u30fc\u30eb mod_proxy_hcheck</a></li>
<li><a href="mod/mod_proxy_html.html">Apache \u30e2\u30b8\u30e5\u30fc\u30eb mod_proxy_html</a></li>
<li><a href="mod/mod_proxy_http.html">Apache \u30e2\u30b8\u30e5\u30fc\u30eb mod_proxy_http</a></li>
+<li><a href="mod/mod_proxy_http2.html">Apache \u30e2\u30b8\u30e5\u30fc\u30eb mod_proxy_http2</a></li>
<li><a href="mod/mod_proxy_scgi.html">Apache \u30e2\u30b8\u30e5\u30fc\u30eb mod_proxy_scgi</a></li>
<li><a href="mod/mod_proxy_wstunnel.html">Apache \u30e2\u30b8\u30e5\u30fc\u30eb mod_proxy_wstunnel</a></li>
<li><a href="mod/mod_ratelimit.html">Apache \u30e2\u30b8\u30e5\u30fc\u30eb mod_ratelimit</a></li>
Modified: httpd/httpd/branches/2.4.x/docs/manual/sitemap.html.ko.euc-kr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/sitemap.html.ko.euc-kr?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/sitemap.html.ko.euc-kr [euc-kr] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/sitemap.html.ko.euc-kr [euc-kr] Sat May 21 15:13:48 2016
@@ -250,8 +250,10 @@
<li><a href="mod/mod_proxy_fcgi.html">\uc544\ud30c\uce58 \ubaa8\ub4c8 mod_proxy_fcgi</a></li>
<li><a href="mod/mod_proxy_fdpass.html">\uc544\ud30c\uce58 \ubaa8\ub4c8 mod_proxy_fdpass</a></li>
<li><a href="mod/mod_proxy_ftp.html">\uc544\ud30c\uce58 \ubaa8\ub4c8 mod_proxy_ftp</a></li>
+<li><a href="mod/mod_proxy_hcheck.html">\uc544\ud30c\uce58 \ubaa8\ub4c8 mod_proxy_hcheck</a></li>
<li><a href="mod/mod_proxy_html.html">\uc544\ud30c\uce58 \ubaa8\ub4c8 mod_proxy_html</a></li>
<li><a href="mod/mod_proxy_http.html">\uc544\ud30c\uce58 \ubaa8\ub4c8 mod_proxy_http</a></li>
+<li><a href="mod/mod_proxy_http2.html">\uc544\ud30c\uce58 \ubaa8\ub4c8 mod_proxy_http2</a></li>
<li><a href="mod/mod_proxy_scgi.html">\uc544\ud30c\uce58 \ubaa8\ub4c8 mod_proxy_scgi</a></li>
<li><a href="mod/mod_proxy_wstunnel.html">\uc544\ud30c\uce58 \ubaa8\ub4c8 mod_proxy_wstunnel</a></li>
<li><a href="mod/mod_ratelimit.html">\uc544\ud30c\uce58 \ubaa8\ub4c8 mod_ratelimit</a></li>
Modified: httpd/httpd/branches/2.4.x/docs/manual/sitemap.html.tr.utf8
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/sitemap.html.tr.utf8?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/sitemap.html.tr.utf8 [utf-8] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/sitemap.html.tr.utf8 [utf-8] Sat May 21 15:13:48 2016
@@ -266,8 +266,10 @@ Windows ile Apache Kullan\u0131m\u0131</a></li>
<li><a href="mod/mod_proxy_fcgi.html">Apache Mod�l� mod_proxy_fcgi</a></li>
<li><a href="mod/mod_proxy_fdpass.html">Apache Mod�l� mod_proxy_fdpass</a></li>
<li><a href="mod/mod_proxy_ftp.html">Apache Mod�l� mod_proxy_ftp</a></li>
+<li><a href="mod/mod_proxy_hcheck.html">Apache Mod�l� mod_proxy_hcheck</a></li>
<li><a href="mod/mod_proxy_html.html">Apache Mod�l� mod_proxy_html</a></li>
<li><a href="mod/mod_proxy_http.html">Apache Mod�l� mod_proxy_http</a></li>
+<li><a href="mod/mod_proxy_http2.html">Apache Mod�l� mod_proxy_http2</a></li>
<li><a href="mod/mod_proxy_scgi.html">Apache Mod�l� mod_proxy_scgi</a></li>
<li><a href="mod/mod_proxy_wstunnel.html">Apache Mod�l� mod_proxy_wstunnel</a></li>
<li><a href="mod/mod_ratelimit.html">Apache Mod�l� mod_ratelimit</a></li>
Modified: httpd/httpd/branches/2.4.x/docs/manual/sitemap.html.zh-cn.utf8
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/sitemap.html.zh-cn.utf8?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/sitemap.html.zh-cn.utf8 (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/sitemap.html.zh-cn.utf8 Sat May 21 15:13:48 2016
@@ -251,8 +251,10 @@
<li><a href="mod/mod_proxy_fcgi.html">Apache 模块 mod_proxy_fcgi</a></li>
<li><a href="mod/mod_proxy_fdpass.html">Apache 模块 mod_proxy_fdpass</a></li>
<li><a href="mod/mod_proxy_ftp.html">Apache 模块 mod_proxy_ftp</a></li>
+<li><a href="mod/mod_proxy_hcheck.html">Apache 模块 mod_proxy_hcheck</a></li>
<li><a href="mod/mod_proxy_html.html">Apache 模块 mod_proxy_html</a></li>
<li><a href="mod/mod_proxy_http.html">Apache 模块 mod_proxy_http</a></li>
+<li><a href="mod/mod_proxy_http2.html">Apache 模块 mod_proxy_http2</a></li>
<li><a href="mod/mod_proxy_scgi.html">Apache 模块 mod_proxy_scgi</a></li>
<li><a href="mod/mod_proxy_wstunnel.html">Apache 模块 mod_proxy_wstunnel</a></li>
<li><a href="mod/mod_ratelimit.html">Apache 模块 mod_ratelimit</a></li>
Modified: httpd/httpd/branches/2.4.x/docs/manual/ssl/ssl_intro.html.ja.utf8
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/ssl/ssl_intro.html.ja.utf8?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/ssl/ssl_intro.html.ja.utf8 [utf-8] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/ssl/ssl_intro.html.ja.utf8 [utf-8] Sat May 21 15:13:48 2016
@@ -68,7 +68,7 @@ Apache \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u7ffb\u8a33\u30d7\u30ed\u30b8
<li><img alt="" src="../images/down.gif" /> <a href="#certificates">\u8a3c\u660e\u66f8</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ssl">Secure Sockets Layer (SSL)</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#references">\u53c2\u8003\u6587\u732e</a></li>
-</ul><ul class="seealso"><li><a href="#comments_section">\u30b3\u30e1\u30f3\u30c8</a></li></ul></div>
+</ul><h3>\u53c2\u7167</h3><ul class="seealso"><li><a href="#comments_section">\u30b3\u30e1\u30f3\u30c8</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="cryptographictech" id="cryptographictech">\u6697\u53f7\u5316\u6280\u8853</a></h2>
Modified: httpd/httpd/branches/2.4.x/docs/manual/stopping.html.de
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/stopping.html.de?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/stopping.html.de (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/stopping.html.de Sat May 21 15:13:48 2016
@@ -48,7 +48,7 @@
<li><img alt="" src="./images/down.gif" /> <a href="#graceful">Unterbrechungsfreier Neustart</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#hup">Neustarten</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#race">Anhang: Signale und Wettkampfsituationen</a></li>
-</ul><h3>Siehe auch</h3><ul class="seealso"><li><code class="program"><a href="./programs/httpd.html">httpd</a></code></li><li><code class="program"><a href="./programs/apachectl.html">apachectl</a></code></li></ul><ul class="seealso"><li><a href="#comments_section">Kommentare</a></li></ul></div>
+</ul><h3>Siehe auch</h3><ul class="seealso"><li><code class="program"><a href="./programs/httpd.html">httpd</a></code></li><li><code class="program"><a href="./programs/apachectl.html">apachectl</a></code></li><li><a href="#comments_section">Kommentare</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="introduction" id="introduction">Einleitung</a></h2>
Modified: httpd/httpd/branches/2.4.x/docs/manual/stopping.html.es
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/stopping.html.es?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/stopping.html.es (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/stopping.html.es Sat May 21 15:13:48 2016
@@ -7,7 +7,7 @@
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Iniciar y Parar el servidor Apache - Servidor HTTP Apache Versi�n 2.4</title>
+<title>Iniciar y Parar el servidor Apache - Servidor Apache HTTP Versi�n 2.4</title>
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
@@ -31,7 +31,7 @@
<a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./tr/stopping.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </a></p>
</div>
-<div class="outofdate">�sta traducci�n podr�a estar
+<div class="outofdate">Esta traducci�n podr�a estar
obsoleta. Consulte la versi�n en ingl�s de la
documentaci�n para comprobar si se han producido cambios
recientemente.</div>
@@ -48,7 +48,7 @@
<li><img alt="" src="./images/down.gif" /> <a href="#graceful">Reinicio Graceful</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#hup">Reiniciar Apache</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#race">Ap�ndice: se�ales y race conditions</a></li>
-</ul><h3>Consulte tambi�n</h3><ul class="seealso"><li><a href="programs/httpd.html">httpd</a></li><li><a href="programs/apachectl.html">apachectl</a></li></ul><ul class="seealso"><li><a href="#comments_section">Comentarios</a></li></ul></div>
+</ul><h3>Consulte tambi�n</h3><ul class="seealso"><li><a href="programs/httpd.html">httpd</a></li><li><a href="programs/apachectl.html">apachectl</a></li><li><a href="#comments_section">Comentarios</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="introduction" id="introduction">Introducci�n</a></h2>
@@ -288,7 +288,7 @@ var comments_identifier = 'http://httpd.
}
})(window, document);
//--><!]]></script></div><div id="footer">
-<p class="apache">Copyright 2016 The Apache Software Foundation.<br />Licencia bajo los t�rminos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="apache">Copyright 2016 The Apache Software Foundation.<br />Licencia bajo los t�rminos de <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">M�dulos</a> | <a href="./mod/directives.html">Directivas</a> | <a href="http://wiki.apache.org/httpd/FAQ">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa del sitio web</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
Modified: httpd/httpd/branches/2.4.x/docs/manual/stopping.html.ja.utf8
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/stopping.html.ja.utf8?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/stopping.html.ja.utf8 [utf-8] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/stopping.html.ja.utf8 [utf-8] Sat May 21 15:13:48 2016
@@ -44,7 +44,7 @@
<li><img alt="" src="./images/down.gif" /> <a href="#graceful">\u7de9\u3084\u304b\u306a\u518d\u8d77\u52d5</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#hup">\u6025\u306a\u518d\u8d77\u52d5</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#gracefulstop">\u7de9\u3084\u304b\u306a\u505c\u6b62</a></li>
-</ul><h3>\u53c2\u7167</h3><ul class="seealso"><li><code class="program"><a href="./programs/httpd.html">httpd</a></code></li><li><code class="program"><a href="./programs/apachectl.html">apachectl</a></code></li><li><a href="invoking.html">Starting</a></li></ul><ul class="seealso"><li><a href="#comments_section">\u30b3\u30e1\u30f3\u30c8</a></li></ul></div>
+</ul><h3>\u53c2\u7167</h3><ul class="seealso"><li><code class="program"><a href="./programs/httpd.html">httpd</a></code></li><li><code class="program"><a href="./programs/apachectl.html">apachectl</a></code></li><li><a href="invoking.html">Starting</a></li><li><a href="#comments_section">\u30b3\u30e1\u30f3\u30c8</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="introduction" id="introduction">\u30a4\u30f3\u30c8\u30ed\u30c0\u30af\u30b7\u30e7\u30f3</a></h2>
Modified: httpd/httpd/branches/2.4.x/docs/manual/stopping.html.ko.euc-kr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/stopping.html.ko.euc-kr?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/stopping.html.ko.euc-kr [euc-kr] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/stopping.html.ko.euc-kr [euc-kr] Sat May 21 15:13:48 2016
@@ -44,7 +44,7 @@
<li><img alt="" src="./images/down.gif" /> <a href="#graceful">\uc810\uc796\uc740 \uc7ac\uc2dc\uc791</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#hup">\ub2f9\uc7a5 \uc7ac\uc2dc\uc791</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#race">\ubd80\ub85d: \uc2dc\uadf8\ub110\uacfc \ub808\uc774\uc2a4 \ucee8\ub514\uc158</a></li>
-</ul><h3>\ucc38\uace0</h3><ul class="seealso"><li><a href="programs/httpd.html">httpd</a></li><li><a href="programs/apachectl.html">apachectl</a></li></ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
+</ul><h3>\ucc38\uace0</h3><ul class="seealso"><li><a href="programs/httpd.html">httpd</a></li><li><a href="programs/apachectl.html">apachectl</a></li><li><a href="#comments_section">Comments</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="introduction" id="introduction">\uc18c\uac1c</a></h2>
Modified: httpd/httpd/branches/2.4.x/docs/manual/stopping.html.tr.utf8
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/stopping.html.tr.utf8?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/stopping.html.tr.utf8 [utf-8] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/stopping.html.tr.utf8 [utf-8] Sat May 21 15:13:48 2016
@@ -45,7 +45,7 @@
<li><img alt="" src="./images/down.gif" /> <a href="#graceful">Nazik�e Yeniden Ba\u015flat</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#hup">Hemen Yeniden Ba\u015flat</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#gracefulstop">Nazik�e Durdur</a></li>
-</ul><h3>Ayr\u0131ca bak\u0131n\u0131z:</h3><ul class="seealso"><li><code class="program"><a href="./programs/httpd.html">httpd</a></code></li><li><code class="program"><a href="./programs/apachectl.html">apachectl</a></code></li><li><a href="invoking.html">Ba\u015flatma</a></li></ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
+</ul><h3>Ayr\u0131ca bak\u0131n\u0131z:</h3><ul class="seealso"><li><code class="program"><a href="./programs/httpd.html">httpd</a></code></li><li><code class="program"><a href="./programs/apachectl.html">apachectl</a></code></li><li><a href="invoking.html">Ba\u015flatma</a></li><li><a href="#comments_section">Yorum</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="introduction" id="introduction">Giri\u015f</a></h2>
Modified: httpd/httpd/branches/2.4.x/docs/manual/suexec.html.ja.utf8
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/suexec.html.ja.utf8?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/suexec.html.ja.utf8 [utf-8] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/suexec.html.ja.utf8 [utf-8] Sat May 21 15:13:48 2016
@@ -59,7 +59,7 @@
<li><img alt="" src="./images/down.gif" /> <a href="#usage">suEXEC \u306e\u4f7f\u7528</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#debug">suEXEC \u306e\u30c7\u30d0\u30c3\u30b0</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#jabberwock">\u3068\u304b\u3052\u306b\u6ce8\u610f: \u8b66\u544a\u3068\u4e8b\u4f8b</a></li>
-</ul><ul class="seealso"><li><a href="#comments_section">\u30b3\u30e1\u30f3\u30c8</a></li></ul></div>
+</ul><h3>\u53c2\u7167</h3><ul class="seealso"><li><a href="#comments_section">\u30b3\u30e1\u30f3\u30c8</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="before" id="before">\u59cb\u3081\u308b\u524d\u306b</a></h2>
Modified: httpd/httpd/branches/2.4.x/docs/manual/suexec.html.ko.euc-kr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/suexec.html.ko.euc-kr?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/suexec.html.ko.euc-kr [euc-kr] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/suexec.html.ko.euc-kr [euc-kr] Sat May 21 15:13:48 2016
@@ -51,7 +51,7 @@
<li><img alt="" src="./images/down.gif" /> <a href="#usage">suEXEC \uc0ac\uc6a9\ud558\uae30</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#debug">suEXEC \ub514\ubc84\uae45\ud558\uae30</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#jabberwock">\ub2e4\uc2dc \ud55c\ubc88 \uc870\uc2ec\ud558\ub77c: \uacbd\uace0\uc640 \uc608\uc81c</a></li>
-</ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
+</ul><h3>\ucc38\uace0</h3><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="before" id="before">\uc2dc\uc791\ud558\uae30 \uc804\uc5d0</a></h2>
Modified: httpd/httpd/branches/2.4.x/docs/manual/suexec.html.tr.utf8
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/suexec.html.tr.utf8?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/suexec.html.tr.utf8 [utf-8] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/suexec.html.tr.utf8 [utf-8] Sat May 21 15:13:48 2016
@@ -55,7 +55,7 @@
<li><img alt="" src="./images/down.gif" /> <a href="#usage">SuEXEC\u2019in kullan\u0131m\u0131</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#debug">SuEXEC ve hata ay\u0131klama</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#jabberwock">Uyar\u0131lar ve �rnekler</a></li>
-</ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
+</ul><h3>Ayr\u0131ca bak\u0131n\u0131z:</h3><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="before" id="before">Ba\u015flamadan �nce</a></h2>
Modified: httpd/httpd/branches/2.4.x/docs/manual/urlmapping.html.en
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/urlmapping.html.en?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/urlmapping.html.en (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/urlmapping.html.en Sat May 21 15:13:48 2016
@@ -235,9 +235,9 @@ the <code>/bar/</code> directory on <cod
and returns them to the client as if they were from the local
server.</p>
-<pre class="prettyprint lang-config">ProxyPass "/foo/" "http://internal.example.com/bar/"<br />
-ProxyPassReverse "/foo/" "http://internal.example.com/bar/"<br />
-ProxyPassReverseCookieDomain internal.example.com public.example.com<br />
+<pre class="prettyprint lang-config">ProxyPass "/foo/" "http://internal.example.com/bar/"
+ProxyPassReverse "/foo/" "http://internal.example.com/bar/"
+ProxyPassReverseCookieDomain internal.example.com public.example.com
ProxyPassReverseCookiePath "/foo/" "/bar/"</pre>
Modified: httpd/httpd/branches/2.4.x/docs/manual/urlmapping.html.ja.utf8
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/urlmapping.html.ja.utf8?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/urlmapping.html.ja.utf8 [utf-8] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/urlmapping.html.ja.utf8 [utf-8] Sat May 21 15:13:48 2016
@@ -45,7 +45,7 @@
<li><img alt="" src="./images/down.gif" /> <a href="#proxy">\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#rewrite">\u30ea\u30e9\u30a4\u30c8\u30a8\u30f3\u30b8\u30f3</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#notfound">File Not Found</a></li>
-</ul><ul class="seealso"><li><a href="#comments_section">\u30b3\u30e1\u30f3\u30c8</a></li></ul></div>
+</ul><h3>\u53c2\u7167</h3><ul class="seealso"><li><a href="#comments_section">\u30b3\u30e1\u30f3\u30c8</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="related" id="related">\u95a2\u9023\u3059\u308b\u30e2\u30b8\u30e5\u30fc\u30eb\u3068\u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6</a></h2>
Modified: httpd/httpd/branches/2.4.x/docs/manual/urlmapping.html.ko.euc-kr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/urlmapping.html.ko.euc-kr?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/urlmapping.html.ko.euc-kr [euc-kr] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/urlmapping.html.ko.euc-kr [euc-kr] Sat May 21 15:13:48 2016
@@ -43,7 +43,7 @@
<li><img alt="" src="./images/down.gif" /> <a href="#proxy">\uc5ed\ud504\ub85d\uc2dc(Reverse Proxy)</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#rewrite">\uc7ac\uc791\uc131 \uc5d4\uc9c4 (Rewriting Engine)</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#notfound">File Not Found</a></li>
-</ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
+</ul><h3>\ucc38\uace0</h3><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="related" id="related">\uad00\ub828\ub41c \ubaa8\ub4c8\uacfc \uc9c0\uc2dc\uc5b4\ub4e4</a></h2>
Modified: httpd/httpd/branches/2.4.x/docs/manual/urlmapping.html.tr.utf8
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/urlmapping.html.tr.utf8?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/urlmapping.html.tr.utf8 [utf-8] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/urlmapping.html.tr.utf8 [utf-8] Sat May 21 15:13:48 2016
@@ -29,6 +29,7 @@
<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./tr/urlmapping.html" title="T�rk�e"> tr </a></p>
</div>
+<div class="outofdate">Bu �eviri g�ncel olmayabilir. Son de\u011fi\u015fiklikler i�in \u0130ngilizce s�r�m ge�erlidir.</div>
<p>Bu belgede, bir istekte belirtilen URL\u2019nin sunulacak dosyan\u0131n dosya
sistemindeki yerini bulmak i�in Apache HTTP Sunucusu taraf\u0131ndan nas\u0131l
@@ -43,7 +44,7 @@
<li><img alt="" src="./images/down.gif" /> <a href="#rewrite">Yeniden Yazma Motoru</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#notfound">Dosya orada yok</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#other">Di\u011fer URL E\u015fleme Mod�lleri</a></li>
-</ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
+</ul><h3>Ayr\u0131ca bak\u0131n\u0131z:</h3><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="related" id="related">\u0130lgili Mod�ller ve Y�nergeler</a></h2>
Modified: httpd/httpd/branches/2.4.x/docs/manual/vhosts/details.html.ko.euc-kr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/vhosts/details.html.ko.euc-kr?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/vhosts/details.html.ko.euc-kr [euc-kr] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/vhosts/details.html.ko.euc-kr [euc-kr] Sat May 21 15:13:48 2016
@@ -44,7 +44,7 @@
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#configparsing">\uc124\uc815\ud30c\uc77c \uc77d\uae30</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#hostmatching">\uac00\uc0c1\ud638\uc2a4\ud2b8 \ucc3e\uae30</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#tips">\ud301</a></li>
-</ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
+</ul><h3>\ucc38\uace0</h3><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="configparsing" id="configparsing">\uc124\uc815\ud30c\uc77c \uc77d\uae30</a></h2>
Modified: httpd/httpd/branches/2.4.x/docs/manual/vhosts/details.html.tr.utf8
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/vhosts/details.html.tr.utf8?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/vhosts/details.html.tr.utf8 [utf-8] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/vhosts/details.html.tr.utf8 [utf-8] Sat May 21 15:13:48 2016
@@ -46,7 +46,7 @@
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#configparsing">Yap\u0131land\u0131rma Dosyas\u0131</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#hostmatching">Sanal Kona\u011f\u0131n Belirlenmesi</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#tips">\u0130pu�lar\u0131</a></li>
-</ul><h3>Ayr\u0131ca bak\u0131n\u0131z:</h3><ul class="seealso"><li><a href="ip-based.html">IP\u2019ye Dayal\u0131 Sanal Konak Deste\u011fi</a></li><li><a href="name-based.html">\u0130sme Dayal\u0131 Sanal Konak Deste\u011fi</a></li><li><a href="examples.html">�ok Kullan\u0131lan Sanal Konak �rnekleri</a></li><li><a href="mass.html">Devingen olarak Yap\u0131land\u0131r\u0131lan Kitlesel Sanal Bar\u0131nd\u0131rma</a></li></ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
+</ul><h3>Ayr\u0131ca bak\u0131n\u0131z:</h3><ul class="seealso"><li><a href="ip-based.html">IP\u2019ye Dayal\u0131 Sanal Konak Deste\u011fi</a></li><li><a href="name-based.html">\u0130sme Dayal\u0131 Sanal Konak Deste\u011fi</a></li><li><a href="examples.html">�ok Kullan\u0131lan Sanal Konak �rnekleri</a></li><li><a href="mass.html">Devingen olarak Yap\u0131land\u0131r\u0131lan Kitlesel Sanal Bar\u0131nd\u0131rma</a></li><li><a href="#comments_section">Yorum</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="configparsing" id="configparsing">Yap\u0131land\u0131rma Dosyas\u0131</a></h2>
Modified: httpd/httpd/branches/2.4.x/docs/manual/vhosts/examples.html.ja.utf8
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/vhosts/examples.html.ja.utf8?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/vhosts/examples.html.ja.utf8 [utf-8] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/vhosts/examples.html.ja.utf8 [utf-8] Sat May 21 15:13:48 2016
@@ -61,7 +61,7 @@
\u30d0\u30fc\u30c1\u30e3\u30eb\u30db\u30b9\u30c8\u306b\u79fb\u884c\u3059\u308b</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#serverpath"><code>ServerPath</code> \u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6\u3092
\u4f7f\u3046</a></li>
-</ul><ul class="seealso"><li><a href="#comments_section">\u30b3\u30e1\u30f3\u30c8</a></li></ul></div>
+</ul><h3>\u53c2\u7167</h3><ul class="seealso"><li><a href="#comments_section">\u30b3\u30e1\u30f3\u30c8</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="purename" id="purename">\u4e00\u3064\u306e IP \u30a2\u30c9\u30ec\u30b9\u3067\u3044\u304f\u3064\u304b\u306e\u540d\u524d\u30d9\u30fc\u30b9\u306e
Modified: httpd/httpd/branches/2.4.x/docs/manual/vhosts/examples.html.ko.euc-kr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/vhosts/examples.html.ko.euc-kr?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/vhosts/examples.html.ko.euc-kr [euc-kr] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/vhosts/examples.html.ko.euc-kr [euc-kr] Sat May 21 15:13:48 2016
@@ -59,7 +59,7 @@
\uac00\uc0c1\ud638\uc2a4\ud2b8\ub85c \uc62e\uae30\uae30</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#serverpath"><code>ServerPath</code>
\uc9c0\uc2dc\uc5b4 \uc0ac\uc6a9\ud558\uae30</a></li>
-</ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
+</ul><h3>\ucc38\uace0</h3><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="purename" id="purename">IP \uc8fc\uc18c \ud55c\uac1c\uc5d0 \uc5ec\ub7ec \uc774\ub984\uae30\ubc18
Modified: httpd/httpd/branches/2.4.x/docs/manual/vhosts/examples.html.tr.utf8
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/vhosts/examples.html.tr.utf8?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/vhosts/examples.html.tr.utf8 [utf-8] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/vhosts/examples.html.tr.utf8 [utf-8] Sat May 21 15:13:48 2016
@@ -52,7 +52,7 @@
<li><img alt="" src="../images/down.gif" /> <a href="#migrate">Bir isme dayal\u0131 sanal kona\u011f\u0131 bir IP\u2019ye dayal\u0131
sanal konakla yans\u0131lamak</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#serverpath"><code>ServerPath</code> y�nergesinin kullan\u0131m\u0131</a></li>
-</ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
+</ul><h3>Ayr\u0131ca bak\u0131n\u0131z:</h3><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="purename" id="purename">Tek bir IP ile �ok say\u0131da isme dayal\u0131 site</a></h2>
Modified: httpd/httpd/branches/2.4.x/docs/manual/vhosts/ip-based.html.ja.utf8
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/vhosts/ip-based.html.ja.utf8?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/vhosts/ip-based.html.ja.utf8 [utf-8] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/vhosts/ip-based.html.ja.utf8 [utf-8] Sat May 21 15:13:48 2016
@@ -41,7 +41,7 @@
\u30c7\u30fc\u30e2\u30f3\u3092\u4e00\u3064\u8a2d\u5b9a\u3059\u308b</a></li>
</ul><h3>\u53c2\u7167</h3><ul class="seealso"><li>
<a href="name-based.html">\u540d\u524d\u30d9\u30fc\u30b9\u306e\u30d0\u30fc\u30c1\u30e3\u30eb\u30db\u30b9\u30c8\u30b5\u30dd\u30fc\u30c8</a>
-</li></ul><ul class="seealso"><li><a href="#comments_section">\u30b3\u30e1\u30f3\u30c8</a></li></ul></div>
+</li><li><a href="#comments_section">\u30b3\u30e1\u30f3\u30c8</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="requirements" id="requirements">\u30b7\u30b9\u30c6\u30e0\u8981\u4ef6</a></h2>
Modified: httpd/httpd/branches/2.4.x/docs/manual/vhosts/ip-based.html.ko.euc-kr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/vhosts/ip-based.html.ko.euc-kr?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/vhosts/ip-based.html.ko.euc-kr [euc-kr] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/vhosts/ip-based.html.ko.euc-kr [euc-kr] Sat May 21 15:13:48 2016
@@ -38,7 +38,7 @@
<li><img alt="" src="../images/down.gif" /> <a href="#single">\uc11c\ubc84 \ud558\ub098\ub85c \uac00\uc0c1\ud638\uc2a4\ud2b8 \uc2e4\ud589\ud558\uae30</a></li>
</ul><h3>\ucc38\uace0</h3><ul class="seealso"><li>
<a href="name-based.html">\uc774\ub984\uae30\ubc18 \uac00\uc0c1\ud638\uc2a4\ud2b8 \uc9c0\uc6d0</a>
-</li></ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
+</li><li><a href="#comments_section">Comments</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="requirements" id="requirements">\uc2dc\uc2a4\ud15c \uc694\uad6c\uc0ac\ud56d</a></h2>
Modified: httpd/httpd/branches/2.4.x/docs/manual/vhosts/ip-based.html.tr.utf8
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/vhosts/ip-based.html.tr.utf8?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/vhosts/ip-based.html.tr.utf8 [utf-8] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/vhosts/ip-based.html.tr.utf8 [utf-8] Sat May 21 15:13:48 2016
@@ -37,7 +37,7 @@
<li><img alt="" src="../images/down.gif" /> <a href="#single">Sanal konaklar tek bir s�recin yap\u0131land\u0131r\u0131lmas\u0131</a></li>
</ul><h3>Ayr\u0131ca bak\u0131n\u0131z:</h3><ul class="seealso"><li>
<a href="name-based.html">\u0130sme Dayal\u0131 Sanal Konak Deste\u011fi</a>
-</li></ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
+</li><li><a href="#comments_section">Yorum</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="explanation" id="explanation">IP'ye dayal\u0131 sanal konak deste\u011fi nedir</a></h2>
Modified: httpd/httpd/branches/2.4.x/docs/manual/vhosts/mass.html.ko.euc-kr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/vhosts/mass.html.ko.euc-kr?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/vhosts/mass.html.ko.euc-kr [euc-kr] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/vhosts/mass.html.ko.euc-kr [euc-kr] Sat May 21 15:13:48 2016
@@ -51,7 +51,7 @@
\uc0ac\uc6a9\ud55c \ud648\ud398\uc774\uc9c0 \uc2dc\uc2a4\ud15c</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#xtra-conf">\ubcc4\ub3c4\uc758 \uac00\uc0c1\ud638\uc2a4\ud2b8 \uc124\uc815\ud30c\uc77c
\uc0ac\uc6a9\ud558\uae30</a></li>
-</ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
+</ul><h3>\ucc38\uace0</h3><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="motivation" id="motivation">\ub3d9\uae30</a></h2>
Modified: httpd/httpd/branches/2.4.x/docs/manual/vhosts/mass.html.tr.utf8
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/vhosts/mass.html.tr.utf8?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/vhosts/mass.html.tr.utf8 [utf-8] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/vhosts/mass.html.tr.utf8 [utf-8] Sat May 21 15:13:48 2016
@@ -45,7 +45,7 @@
<li><img alt="" src="../images/down.gif" /> <a href="#combinations">Ayn\u0131 Sunucuda Ki\u015fisel ve Kurumsal Sanal Konaklar</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ipbased">IP\u2019ye dayal\u0131 sanal konaklar\u0131 daha verimli k\u0131lmak</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#simple.rewrite"><code>mod_rewrite</code> ile Kitlesel Sanal Konaklar</a></li>
-</ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
+</ul><h3>Ayr\u0131ca bak\u0131n\u0131z:</h3><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="motivation" id="motivation">Ama�</a></h2>
Modified: httpd/httpd/branches/2.4.x/docs/manual/vhosts/name-based.html.de
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/vhosts/name-based.html.de?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/vhosts/name-based.html.de (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/vhosts/name-based.html.de Sat May 21 15:13:48 2016
@@ -45,7 +45,7 @@
Hosts</a></li><li><a href="details.html">Tiefergehende Er�rterung der Zuweisung
virtueller Hosts</a></li><li><a href="mass.html">Dynamisch konfiguriertes
Massen-Virtual-Hosting</a></li><li><a href="examples.html">Beispiele f�r virtuelle Hosts in typischen
- Installationen</a></li><li><a href="examples.html#serverpath">ServerPath-Beispielkonfiguration</a></li></ul><ul class="seealso"><li><a href="#comments_section">Kommentare</a></li></ul></div>
+ Installationen</a></li><li><a href="examples.html#serverpath">ServerPath-Beispielkonfiguration</a></li><li><a href="#comments_section">Kommentare</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="namevip" id="namevip">Namensbasierte gegen�ber IP-basierten
Modified: httpd/httpd/branches/2.4.x/docs/manual/vhosts/name-based.html.ja.utf8
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/vhosts/name-based.html.ja.utf8?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/vhosts/name-based.html.ja.utf8 [utf-8] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/vhosts/name-based.html.ja.utf8 [utf-8] Sat May 21 15:13:48 2016
@@ -41,7 +41,7 @@
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#namevip">\u540d\u524d\u30d9\u30fc\u30b9\u3068 IP \u30d9\u30fc\u30b9\u306e\u30d0\u30fc\u30c1\u30e3\u30eb\u30db\u30b9\u30c8\u306e\u6bd4\u8f03</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#using">\u540d\u524d\u30d9\u30fc\u30b9\u306e\u30d0\u30fc\u30c1\u30e3\u30eb\u30db\u30b9\u30c8\u3092\u5229\u7528\u3059\u308b</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#compat">\u53e4\u3044\u30d6\u30e9\u30a6\u30b6\u3068\u306e\u4e92\u63db\u6027</a></li>
-</ul><h3>\u53c2\u7167</h3><ul class="seealso"><li><a href="ip-based.html">\u30cd\u30fc\u30e0\u30d9\u30fc\u30b9\u306e\u30d0\u30fc\u30c1\u30e3\u30eb\u30db\u30b9\u30c8</a></li><li><a href="details.html">\u30d0\u30fc\u30c1\u30e3\u30eb\u30db\u30b9\u30c8\u306e\u30de\u30c3\u30c1\u30f3\u30b0\u306b\u3064\u3044\u3066\u306e\u8a73\u7d30</a></li><li><a href="mass.html">\u5927\u91cf\u306e\u30d0\u30fc\u30c1\u30e3\u30eb\u30db\u30b9\u30c8\u306e\u52d5\u7684\u306a\u8a2d\u5b9a</a></li><li><a href="examples.html">\u30d0\u30fc\u30c1\u30e3\u30eb\u30db\u30b9\u30c8\u306e\u4e00\u822c\u7684\u306a\u8a2d\u5b9a\u4f8b</a></li><li><a href="examples.html#serverpath">ServerPath \u8a2d\u5b9a\u4f8b</a></li></ul><ul class="seealso"><li><a href="#comments_section">\u30b3\u30e1\u30f3\u30c8</a></li></ul></div>
+</ul><h3>\u53c2\u7167</h3><ul class="seealso"><li><a href="ip-based.html">\u30cd\u30fc\u30e0\u30d9\u30fc\u30b9\u306e\u30d0\u30fc\u30c1\u30e3\u30eb\u30db\u30b9\u30c8</a></li><li><a href="details.html">\u30d0\u30fc\u30c1\u30e3\u30eb\u30db\u30b9\u30c8\u306e\u30de\u30c3\u30c1\u30f3\u30b0\u306b\u3064\u3044\u3066\u306e\u8a73\u7d30</a></li><li><a href="mass.html">\u5927\u91cf\u306e\u30d0\u30fc\u30c1\u30e3\u30eb\u30db\u30b9\u30c8\u306e\u52d5\u7684\u306a\u8a2d\u5b9a</a></li><li><a href="examples.html">\u30d0\u30fc\u30c1\u30e3\u30eb\u30db\u30b9\u30c8\u306e\u4e00\u822c\u7684\u306a\u8a2d\u5b9a\u4f8b</a></li><li><a href="examples.html#serverpath">ServerPath \u8a2d\u5b9a\u4f8b</a></li><li><a href="#comments_section">\u30b3\u30e1\u30f3\u30c8</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="namevip" id="namevip">\u540d\u524d\u30d9\u30fc\u30b9\u3068 IP \u30d9\u30fc\u30b9\u306e\u30d0\u30fc\u30c1\u30e3\u30eb\u30db\u30b9\u30c8\u306e\u6bd4\u8f03</a></h2>
Modified: httpd/httpd/branches/2.4.x/docs/manual/vhosts/name-based.html.ko.euc-kr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/vhosts/name-based.html.ko.euc-kr?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/vhosts/name-based.html.ko.euc-kr [euc-kr] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/vhosts/name-based.html.ko.euc-kr [euc-kr] Sat May 21 15:13:48 2016
@@ -39,7 +39,7 @@
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#namevip">\uc774\ub984\uae30\ubc18 \ub300 IP\uae30\ubc18 \uac00\uc0c1\ud638\uc2a4\ud2b8</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#using">\uc774\ub984\uae30\ubc18 \uac00\uc0c1\ud638\uc2a4\ud2b8 \uc0ac\uc6a9\ud558\uae30</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#compat">\uc624\ub798\ub41c \ube0c\ub77c\uc6b0\uc800\uc640 \ud638\ud658</a></li>
-</ul><h3>\ucc38\uace0</h3><ul class="seealso"><li><a href="ip-based.html">IP\uae30\ubc18 \uac00\uc0c1\ud638\uc2a4\ud2b8 \uc9c0\uc6d0</a></li><li><a href="details.html">\uac00\uc0c1\ud638\uc2a4\ud2b8 \ucc3e\uae30\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \uc124\uba85</a></li><li><a href="mass.html">\ub300\ub7c9\uc758 \uac00\uc0c1\ud638\uc2a4\ud2b8\ub97c \ub3d9\uc801\uc73c\ub85c \uc124\uc815\ud558\uae30</a></li><li><a href="examples.html">\uc77c\ubc18\uc801\uc778 \uac00\uc0c1\ud638\uc2a4\ud2b8 \uc608</a></li><li><a href="examples.html#serverpath">ServerPath \uc124\uc815 \uc608</a></li></ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
+</ul><h3>\ucc38\uace0</h3><ul class="seealso"><li><a href="ip-based.html">IP\uae30\ubc18 \uac00\uc0c1\ud638\uc2a4\ud2b8 \uc9c0\uc6d0</a></li><li><a href="details.html">\uac00\uc0c1\ud638\uc2a4\ud2b8 \ucc3e\uae30\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \uc124\uba85</a></li><li><a href="mass.html">\ub300\ub7c9\uc758 \uac00\uc0c1\ud638\uc2a4\ud2b8\ub97c \ub3d9\uc801\uc73c\ub85c \uc124\uc815\ud558\uae30</a></li><li><a href="examples.html">\uc77c\ubc18\uc801\uc778 \uac00\uc0c1\ud638\uc2a4\ud2b8 \uc608</a></li><li><a href="examples.html#serverpath">ServerPath \uc124\uc815 \uc608</a></li><li><a href="#comments_section">Comments</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="namevip" id="namevip">\uc774\ub984\uae30\ubc18 \ub300 IP\uae30\ubc18 \uac00\uc0c1\ud638\uc2a4\ud2b8</a></h2>
Modified: httpd/httpd/branches/2.4.x/docs/manual/vhosts/name-based.html.tr.utf8
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/vhosts/name-based.html.tr.utf8?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/vhosts/name-based.html.tr.utf8 [utf-8] (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/vhosts/name-based.html.tr.utf8 [utf-8] Sat May 21 15:13:48 2016
@@ -40,7 +40,7 @@
</ul><h3>Ayr\u0131ca bak\u0131n\u0131z:</h3><ul class="seealso"><li><a href="ip-based.html">IP Adresine Dayal\u0131 Sanal Konaklar</a></li><li><a href="details.html">Konak E\u015flemenin Derinli\u011fine \u0130ncelenmesi</a>
</li><li><a href="mass.html">Devingen olarak Yap\u0131land\u0131r\u0131lan K�tlesel Sanal
Bar\u0131nd\u0131rma</a></li><li><a href="examples.html">�ok kullan\u0131lan sanal konak yap\u0131land\u0131rma
-�rnekleri</a></li></ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
+�rnekleri</a></li><li><a href="#comments_section">Yorum</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="namevip" id="namevip">\u0130sme dayal\u0131 ve IP\u2019ye dayal\u0131 Sanal Konaklar</a></h2>
Modified: httpd/httpd/branches/2.4.x/include/ap_mmn.h
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/include/ap_mmn.h?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/include/ap_mmn.h (original)
+++ httpd/httpd/branches/2.4.x/include/ap_mmn.h Sat May 21 15:13:48 2016
@@ -432,7 +432,7 @@
* 20120211.32 (2.4.10-dev) Add SSL reusable SNI to mod_proxy.h's proxy_conn_rec
* 20120211.33 (2.4.10-dev) Add suspend_connection and resume_connection hooks
* 20120211.34 (2.4.10-dev) AP_DEFAULT_HANDLER_NAME/AP_IS_DEFAULT_HANDLER_NAME
- * 20120211.35 (2.4.10-dev) Add "r", "must_rebind", and last_backend_conn
+ * 20120211.35 (2.4.10-dev) Add "r", "must_rebind", and last_backend_conn
to util_ldap_connection_t
* 20120211.36 (2.4.10-dev) Add ap_copy_scoreboard_worker()
* 20120211.37 (2.4.11-dev) Add r->trailers_{in,out}
@@ -442,7 +442,7 @@
* 20120211.41 (2.4.11-dev) Add ap_proxy_de_socketfy to mod_proxy.h
* 20120211.42 (2.4.13-dev) Add response_code_exprs to http_core.h
* 20120211.43 (2.4.13-dev) Add keep_alive_timeout_set to server_rec
- * 20120211.44 (2.4.13-dev) Add cgi_pass_auth and AP_CGI_PASS_AUTH_* to
+ * 20120211.44 (2.4.13-dev) Add cgi_pass_auth and AP_CGI_PASS_AUTH_* to
* core_dir_config
* 20120211.45 (2.4.13-dev) Add ap_proxy_connection_reusable()
* 20120211.46 (2.4.13-dev) Add ap_map_http_request_error()
@@ -466,12 +466,15 @@
* mod_proxy.h
* 20120211.55 (2.4.19-dev) Add new ap_update_child_status...() methods,
* add protocol to worker_score in scoreboard.h,
- * Add pre_close connection hook and
+ * Add pre_close connection hook and
* ap_prep_lingering_close().
* 20120211.56 (2.4.19-dev) Split useragent_host from the conn_rec into
* the request_rec, with ap_get_useragent_host()
* 20120211.57 (2.4.19-dev) Add mod_ssl_openssl.h and OpenSSL-specific hooks
* 20120211.58 (2.4.21-dev) Add cgi_var_rules to core_dir_config.
+ * 20120211.59 (2.4.21-dev) Add ap_getword_conf2[_nc](),
+ * ap_proxy_is_socket_connected() and
+ * extended proxy_worker_shared.
*/
#define MODULE_MAGIC_COOKIE 0x41503234UL /* "AP24" */
@@ -479,7 +482,7 @@
#ifndef MODULE_MAGIC_NUMBER_MAJOR
#define MODULE_MAGIC_NUMBER_MAJOR 20120211
#endif
-#define MODULE_MAGIC_NUMBER_MINOR 58 /* 0...n */
+#define MODULE_MAGIC_NUMBER_MINOR 59 /* 0...n */
/**
* Determine if the server's current MODULE_MAGIC_NUMBER is at least a
Modified: httpd/httpd/branches/2.4.x/include/httpd.h
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/include/httpd.h?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/include/httpd.h (original)
+++ httpd/httpd/branches/2.4.x/include/httpd.h Sat May 21 15:13:48 2016
@@ -1503,6 +1503,25 @@ AP_DECLARE(char *) ap_getword_conf(apr_p
AP_DECLARE(char *) ap_getword_conf_nc(apr_pool_t *p, char **line);
/**
+ * Get the second word in the string paying attention to quoting,
+ * with {...} supported as well as "..." and '...'
+ * @param p The pool to allocate from
+ * @param line The line to traverse
+ * @return A copy of the string
+ */
+AP_DECLARE(char *) ap_getword_conf2(apr_pool_t *p, const char **line);
+
+/**
+ * Get the second word in the string paying attention to quoting,
+ * with {...} supported as well as "..." and '...'
+ * @param p The pool to allocate from
+ * @param line The line to traverse
+ * @return A copy of the string
+ * @note The same as ap_getword_conf2(), except it doesn't use const char **.
+ */
+AP_DECLARE(char *) ap_getword_conf2_nc(apr_pool_t *p, char **line);
+
+/**
* Check a string for any config define or environment variable construct
* and replace each of them by the value of that variable, if it exists.
* The default syntax of the constructs is ${ENV} but can be changed by
Modified: httpd/httpd/branches/2.4.x/modules/proxy/NWGNUmakefile
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/proxy/NWGNUmakefile?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/modules/proxy/NWGNUmakefile (original)
+++ httpd/httpd/branches/2.4.x/modules/proxy/NWGNUmakefile Sat May 21 15:13:48 2016
@@ -161,6 +161,7 @@ TARGET_nlm = \
$(OBJDIR)/proxyfcgi.nlm \
$(OBJDIR)/proxyscgi.nlm \
$(OBJDIR)/proxyexpress.nlm \
+ $(OBJDIR)/proxyhcheck.nlm \
$(OBJDIR)/proxylbm_busy.nlm \
$(OBJDIR)/proxylbm_hb.nlm \
$(OBJDIR)/proxylbm_req.nlm \
Modified: httpd/httpd/branches/2.4.x/modules/proxy/config.m4
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/proxy/config.m4?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/modules/proxy/config.m4 (original)
+++ httpd/httpd/branches/2.4.x/modules/proxy/config.m4 Sat May 21 15:13:48 2016
@@ -10,6 +10,10 @@ else
proxy_mods_enable=most
fi
+if test "$proxy_mods_enable" = "no"; then
+ enable_proxy_hcheck=no
+fi
+
proxy_objs="mod_proxy.lo proxy_util.lo"
APACHE_MODULE(proxy, Apache proxy module, $proxy_objs, , $proxy_mods_enable)
@@ -59,6 +63,7 @@ APACHE_MODULE(proxy_ajp, Apache proxy AJ
APACHE_MODULE(proxy_balancer, Apache proxy BALANCER module. Requires and is enabled by --enable-proxy., $proxy_balancer_objs, , $proxy_mods_enable,, proxy)
APACHE_MODULE(proxy_express, mass reverse-proxy module. Requires --enable-proxy., , , $proxy_mods_enable,, proxy)
+APACHE_MODULE(proxy_hcheck, reverse-proxy health-check module. Requires --enable-proxy and --enable-watchdog., , , $enable_proxy_hcheck,, watchdog)
APR_ADDTO(INCLUDES, [-I\$(top_srcdir)/$modpath_current])
Modified: httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy.c?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy.c (original)
+++ httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy.c Sat May 21 15:13:48 2016
@@ -36,6 +36,40 @@ APR_DECLARE_OPTIONAL_FN(char *, ssl_var_
#define MAX(x,y) ((x) >= (y) ? (x) : (y))
#endif
+/*
+ * We do health-checks only if that (sub)module is loaded in. This
+ * allows for us to continue as is w/o requiring mod_watchdog for
+ * those implementations which aren't using health checks
+ */
+static APR_OPTIONAL_FN_TYPE(set_worker_hc_param) *set_worker_hc_param_f = NULL;
+
+/* Externals */
+proxy_hcmethods_t PROXY_DECLARE_DATA proxy_hcmethods[] = {
+ {NONE, "NONE", 1},
+ {TCP, "TCP", 1},
+ {OPTIONS, "OPTIONS", 1},
+ {HEAD, "HEAD", 1},
+ {GET, "GET", 1},
+ {CPING, "CPING", 0},
+ {PROVIDER, "PROVIDER", 0},
+ {EOT, NULL, 1}
+};
+
+proxy_wstat_t PROXY_DECLARE_DATA proxy_wstat_tbl[] = {
+ {PROXY_WORKER_INITIALIZED, PROXY_WORKER_INITIALIZED_FLAG, "Init "},
+ {PROXY_WORKER_IGNORE_ERRORS, PROXY_WORKER_IGNORE_ERRORS_FLAG, "Ign "},
+ {PROXY_WORKER_DRAIN, PROXY_WORKER_DRAIN_FLAG, "Drn "},
+ {PROXY_WORKER_GENERIC, PROXY_WORKER_GENERIC_FLAG, "Gen "},
+ {PROXY_WORKER_IN_SHUTDOWN, PROXY_WORKER_IN_SHUTDOWN_FLAG, "Shut "},
+ {PROXY_WORKER_DISABLED, PROXY_WORKER_DISABLED_FLAG, "Dis "},
+ {PROXY_WORKER_STOPPED, PROXY_WORKER_STOPPED_FLAG, "Stop "},
+ {PROXY_WORKER_IN_ERROR, PROXY_WORKER_IN_ERROR_FLAG, "Err "},
+ {PROXY_WORKER_HOT_STANDBY, PROXY_WORKER_HOT_STANDBY_FLAG, "Stby "},
+ {PROXY_WORKER_FREE, PROXY_WORKER_FREE_FLAG, "Free "},
+ {PROXY_WORKER_HC_FAIL, PROXY_WORKER_HC_FAIL_FLAG, "HcFl "},
+ {0x0, '\0', NULL}
+};
+
static const char * const proxy_id = "proxy";
apr_global_mutex_t *proxy_mutex = NULL;
@@ -56,6 +90,7 @@ apr_global_mutex_t *proxy_mutex = NULL;
/* Translate the URL into a 'filename' */
static const char *set_worker_param(apr_pool_t *p,
+ server_rec *s,
proxy_worker *worker,
const char *key,
const char *val)
@@ -274,7 +309,11 @@ static const char *set_worker_param(apr_
PROXY_STRNCPY(worker->s->flusher, val);
}
else {
- return "unknown Worker parameter";
+ if (set_worker_hc_param_f) {
+ return set_worker_hc_param_f(p, s, worker, key, val, NULL);
+ } else {
+ return "unknown Worker parameter";
+ }
}
return NULL;
}
@@ -1170,7 +1209,8 @@ static int proxy_handler(request_rec *r)
* We can not failover to another worker.
* Mark the worker as unusable if member of load balancer
*/
- if (balancer) {
+ if (balancer
+ && !(worker->s->status & PROXY_WORKER_IGNORE_ERRORS)) {
worker->s->status |= PROXY_WORKER_IN_ERROR;
worker->s->error_time = apr_time_now();
}
@@ -1181,7 +1221,8 @@ static int proxy_handler(request_rec *r)
* We can failover to another worker
* Mark the worker as unusable if member of load balancer
*/
- if (balancer) {
+ if (balancer
+ && !(worker->s->status & PROXY_WORKER_IGNORE_ERRORS)) {
worker->s->status |= PROXY_WORKER_IN_ERROR;
worker->s->error_time = apr_time_now();
}
@@ -1675,7 +1716,7 @@ static const char *
"Ignoring parameter '%s=%s' for worker '%s' because of worker sharing",
elts[i].key, elts[i].val, ap_proxy_worker_name(cmd->pool, worker));
} else {
- const char *err = set_worker_param(cmd->pool, worker, elts[i].key,
+ const char *err = set_worker_param(cmd->pool, s, worker, elts[i].key,
elts[i].val);
if (err)
return apr_pstrcat(cmd->temp_pool, "ProxyPass ", err, NULL);
@@ -2159,7 +2200,7 @@ static const char *add_member(cmd_parms
"Ignoring parameter '%s=%s' for worker '%s' because of worker sharing",
elts[i].key, elts[i].val, ap_proxy_worker_name(cmd->pool, worker));
} else {
- err = set_worker_param(cmd->pool, worker, elts[i].key,
+ err = set_worker_param(cmd->pool, cmd->server, worker, elts[i].key,
elts[i].val);
if (err)
return apr_pstrcat(cmd->temp_pool, "BalancerMember ", err, NULL);
@@ -2244,7 +2285,7 @@ static const char *
else
*val++ = '\0';
if (worker)
- err = set_worker_param(cmd->pool, worker, word, val);
+ err = set_worker_param(cmd->pool, cmd->server, worker, word, val);
else
err = set_balancer_param(conf, cmd->pool, balancer, word, val);
@@ -2383,7 +2424,7 @@ static const char *proxysection(cmd_parm
else
*val++ = '\0';
if (worker)
- err = set_worker_param(cmd->pool, worker, word, val);
+ err = set_worker_param(cmd->pool, cmd->server, worker, word, val);
else
err = set_balancer_param(sconf, cmd->pool, balancer,
word, val);
@@ -2745,6 +2786,7 @@ static int proxy_pre_config(apr_pool_t *
APR_HOOK_MIDDLE);
/* Reset workers count on gracefull restart */
proxy_lb_workers = 0;
+ set_worker_hc_param_f = APR_RETRIEVE_OPTIONAL_FN(set_worker_hc_param);
return OK;
}
static void register_hooks(apr_pool_t *p)
@@ -2757,8 +2799,8 @@ static void register_hooks(apr_pool_t *p
* make sure that we are called after the mpm
* initializes.
*/
- static const char *const aszPred[] = { "mpm_winnt.c", "mod_proxy_balancer.c", NULL};
-
+ static const char *const aszPred[] = { "mpm_winnt.c", "mod_proxy_balancer.c",
+ "mod_proxy_hcheck.c", NULL};
/* handler */
ap_hook_handler(proxy_handler, NULL, NULL, APR_HOOK_FIRST);
/* filename-to-URI translation */
Modified: httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy.h
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy.h?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy.h (original)
+++ httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy.h Sat May 21 15:13:48 2016
@@ -75,6 +75,22 @@ enum enctype {
enc_path, enc_search, enc_user, enc_fpath, enc_parm
};
+typedef enum {
+ NONE, TCP, OPTIONS, HEAD, GET, CPING, PROVIDER, EOT
+} hcmethod_t;
+
+typedef struct {
+ hcmethod_t method;
+ char *name;
+ int implemented;
+} proxy_hcmethods_t;
+
+typedef struct {
+ unsigned int bit;
+ char flag;
+ const char *name;
+} proxy_wstat_t;
+
#define BALANCER_PREFIX "balancer://"
#if APR_CHARSET_EBCDIC
@@ -139,7 +155,7 @@ typedef struct {
proxy_worker *reverse; /* reverse "module-driven" proxy worker */
const char *domain; /* domain name to use in absence of a domain name in the request */
const char *id;
- apr_pool_t *pool; /* Pool used for allocating this struct */
+ apr_pool_t *pool; /* Pool used for allocating this struct's elements */
int req; /* true if proxy requests are enabled */
int max_balancers; /* maximum number of allowed balancers */
int bgrowth; /* number of post-config balancers can added */
@@ -270,8 +286,11 @@ struct proxy_conn_pool {
proxy_conn_rec *conn; /* Single connection for prefork mpm */
};
-/* Keep below in sync with proxy_util.c! */
/* worker status bits */
+/*
+ * NOTE: Keep up-to-date w/ proxy_wstat_tbl[]
+ * in mod_proxy.c !
+ */
#define PROXY_WORKER_INITIALIZED 0x0001
#define PROXY_WORKER_IGNORE_ERRORS 0x0002
#define PROXY_WORKER_DRAIN 0x0004
@@ -282,6 +301,7 @@ struct proxy_conn_pool {
#define PROXY_WORKER_IN_ERROR 0x0080
#define PROXY_WORKER_HOT_STANDBY 0x0100
#define PROXY_WORKER_FREE 0x0200
+#define PROXY_WORKER_HC_FAIL 0x0400
/* worker status flags */
#define PROXY_WORKER_INITIALIZED_FLAG 'O'
@@ -294,9 +314,11 @@ struct proxy_conn_pool {
#define PROXY_WORKER_IN_ERROR_FLAG 'E'
#define PROXY_WORKER_HOT_STANDBY_FLAG 'H'
#define PROXY_WORKER_FREE_FLAG 'F'
+#define PROXY_WORKER_HC_FAIL_FLAG 'C'
#define PROXY_WORKER_NOT_USABLE_BITMAP ( PROXY_WORKER_IN_SHUTDOWN | \
-PROXY_WORKER_DISABLED | PROXY_WORKER_STOPPED | PROXY_WORKER_IN_ERROR )
+PROXY_WORKER_DISABLED | PROXY_WORKER_STOPPED | PROXY_WORKER_IN_ERROR | \
+PROXY_WORKER_HC_FAIL )
/* NOTE: these check the shared status */
#define PROXY_WORKER_IS_INITIALIZED(f) ( (f)->s->status & PROXY_WORKER_INITIALIZED )
@@ -310,6 +332,10 @@ PROXY_WORKER_DISABLED | PROXY_WORKER_STO
#define PROXY_WORKER_IS_GENERIC(f) ( (f)->s->status & PROXY_WORKER_GENERIC )
+#define PROXY_WORKER_IS_HCFAILED(f) ( (f)->s->status & PROXY_WORKER_HC_FAIL )
+
+#define PROXY_WORKER_IS(f, b) ( (f)->s->status & (b) )
+
/* default worker retry timeout in seconds */
#define PROXY_WORKER_DEFAULT_RETRY 60
@@ -404,6 +430,14 @@ typedef struct {
unsigned int keepalive_set:1;
unsigned int disablereuse_set:1;
unsigned int was_malloced:1;
+ char hcuri[PROXY_WORKER_MAX_ROUTE_SIZE]; /* health check uri */
+ char hcexpr[PROXY_WORKER_MAX_SCHEME_SIZE]; /* name of condition expr for health check */
+ int passes; /* number of successes for check to pass */
+ int pcount; /* current count of passes */
+ int fails; /* number of failures for check to fail */
+ int fcount; /* current count of failures */
+ hcmethod_t method; /* method to use for health check */
+ apr_interval_time_t interval;
} proxy_worker_shared;
#define ALIGNED_PROXY_WORKER_SHARED_SIZE (APR_ALIGN_DEFAULT(sizeof(proxy_worker_shared)))
@@ -419,6 +453,11 @@ struct proxy_worker {
void *context; /* general purpose storage */
};
+/* default to health check every 30 seconds */
+#define HCHECK_WATHCHDOG_DEFAULT_INTERVAL (30)
+/* The watchdog runs every 2 seconds, which is also the minimal check */
+#define HCHECK_WATHCHDOG_INTERVAL (2)
+
/*
* Time to wait (in microseconds) to find out if more data is currently
* available at the backend.
@@ -509,6 +548,26 @@ struct proxy_balancer_method {
#define PROXY_DECLARE_DATA __declspec(dllimport)
#endif
+/* Using PROXY_DECLARE_OPTIONAL_HOOK instead of
+ * APR_DECLARE_EXTERNAL_HOOK allows build/make_nw_export.awk
+ * to distinguish between hooks that implement
+ * proxy_hook_xx and proxy_hook_get_xx in mod_proxy.c and
+ * those which don't.
+ */
+#define PROXY_DECLARE_OPTIONAL_HOOK APR_DECLARE_EXTERNAL_HOOK
+
+/* These 2 are in mod_proxy.c */
+extern PROXY_DECLARE_DATA proxy_hcmethods_t proxy_hcmethods[];
+extern PROXY_DECLARE_DATA proxy_wstat_t proxy_wstat_tbl[];
+
+/* Following 4 from health check */
+APR_DECLARE_OPTIONAL_FN(void, hc_show_exprs, (request_rec *));
+APR_DECLARE_OPTIONAL_FN(void, hc_select_exprs, (request_rec *, const char *));
+APR_DECLARE_OPTIONAL_FN(int, hc_valid_expr, (request_rec *, const char *));
+APR_DECLARE_OPTIONAL_FN(const char *, set_worker_hc_param,
+ (apr_pool_t *, server_rec *, proxy_worker *,
+ const char *, const char *, void *));
+
APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, scheme_handler, (request_rec *r,
proxy_worker *worker, proxy_server_conf *conf, char *url,
const char *proxyhost, apr_port_t proxyport))
@@ -1020,6 +1079,12 @@ PROXY_DECLARE(int) ap_proxy_pass_brigade
APR_DECLARE_OPTIONAL_FN(int, ap_proxy_clear_connection,
(request_rec *r, apr_table_t *headers));
+/**
+ * @param socket socket to test
+ * @return TRUE if socket is connected/active
+ */
+PROXY_DECLARE(int) ap_proxy_is_socket_connected(apr_socket_t *socket);
+
#define PROXY_LBMETHOD "proxylbmethod"
/* The number of dynamic workers that can be added when reconfiguring.
@@ -1041,6 +1106,13 @@ int ap_proxy_lb_workers(void);
PROXY_DECLARE(apr_port_t) ap_proxy_port_of_scheme(const char *scheme);
/**
+ * Return the name of the health check method (eg: "OPTIONS").
+ * @param method method enum
+ * @return name of method
+ */
+PROXY_DECLARE (const char *) ap_proxy_show_hcmethod(hcmethod_t method);
+
+/**
* Strip a unix domain socket (UDS) prefix from the input URL
* @param p pool to allocate result from
* @param url a URL potentially prefixed with a UDS path
Modified: httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_balancer.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_balancer.c?rev=1744951&r1=1744950&r2=1744951&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_balancer.c (original)
+++ httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_balancer.c Sat May 21 15:13:48 2016
@@ -28,9 +28,16 @@ ap_slotmem_provider_t *storage = NULL;
module AP_MODULE_DECLARE_DATA proxy_balancer_module;
+static APR_OPTIONAL_FN_TYPE(set_worker_hc_param) *set_worker_hc_param_f = NULL;
+
static int (*ap_proxy_retry_worker_fn)(const char *proxy_function,
proxy_worker *worker, server_rec *s) = NULL;
+static APR_OPTIONAL_FN_TYPE(hc_show_exprs) *hc_show_exprs_f = NULL;
+static APR_OPTIONAL_FN_TYPE(hc_select_exprs) *hc_select_exprs_f = NULL;
+static APR_OPTIONAL_FN_TYPE(hc_valid_expr) *hc_valid_expr_f = NULL;
+
+
/*
* Register our mutex type before the config is read so we
* can adjust the mutex settings using the Mutex directive.
@@ -46,7 +53,10 @@ static int balancer_pre_config(apr_pool_
if (rv != APR_SUCCESS) {
return rv;
}
-
+ set_worker_hc_param_f = APR_RETRIEVE_OPTIONAL_FN(set_worker_hc_param);
+ hc_show_exprs_f = APR_RETRIEVE_OPTIONAL_FN(hc_show_exprs);
+ hc_select_exprs_f = APR_RETRIEVE_OPTIONAL_FN(hc_select_exprs);
+ hc_valid_expr_f = APR_RETRIEVE_OPTIONAL_FN(hc_valid_expr);
return OK;
}
@@ -633,7 +643,8 @@ static int proxy_balancer_post_request(p
return HTTP_INTERNAL_SERVER_ERROR;
}
- if (!apr_is_empty_array(balancer->errstatuses)) {
+ if (!apr_is_empty_array(balancer->errstatuses)
+ && !(worker->s->status & PROXY_WORKER_IGNORE_ERRORS)) {
int i;
for (i = 0; i < balancer->errstatuses->nelts; i++) {
int val = ((int *)balancer->errstatuses->elts)[i];
@@ -652,6 +663,7 @@ static int proxy_balancer_post_request(p
}
if (balancer->failontimeout
+ && !(worker->s->status & PROXY_WORKER_IGNORE_ERRORS)
&& (apr_table_get(r->notes, "proxy_timedout")) != NULL) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(02460)
"%s: Forcing worker (%s) into error state "
@@ -920,10 +932,10 @@ static int balancer_post_config(apr_pool
static void create_radio(const char *name, unsigned int flag, request_rec *r)
{
- ap_rvputs(r, "<td>On <input name='", name, "' id='", name, "' value='1' type=radio", NULL);
+ ap_rvputs(r, "<td><label for='", name, "1'>On</label> <input name='", name, "' id='", name, "1' value='1' type=radio", NULL);
if (flag)
ap_rputs(" checked", r);
- ap_rvputs(r, "> <br/> Off <input name='", name, "' id='", name, "' value='0' type=radio", NULL);
+ ap_rvputs(r, "> <br/> <label for='", name, "0'>Off</label> <input name='", name, "' id='", name, "0' value='0' type=radio", NULL);
if (!flag)
ap_rputs(" checked", r);
ap_rputs("></td>\n", r);
@@ -1093,17 +1105,27 @@ static int balancer_handler(request_rec
else
*wsel->s->redirect = '\0';
}
+ /*
+ * TODO: Look for all 'w_status_#' keys and then loop thru
+ * on that # character, since the character == the flag
+ */
if ((val = apr_table_get(params, "w_status_I"))) {
- ap_proxy_set_wstatus('I', atoi(val), wsel);
+ ap_proxy_set_wstatus(PROXY_WORKER_IGNORE_ERRORS_FLAG, atoi(val), wsel);
}
if ((val = apr_table_get(params, "w_status_N"))) {
- ap_proxy_set_wstatus('N', atoi(val), wsel);
+ ap_proxy_set_wstatus(PROXY_WORKER_DRAIN_FLAG, atoi(val), wsel);
}
if ((val = apr_table_get(params, "w_status_D"))) {
- ap_proxy_set_wstatus('D', atoi(val), wsel);
+ ap_proxy_set_wstatus(PROXY_WORKER_DISABLED_FLAG, atoi(val), wsel);
}
if ((val = apr_table_get(params, "w_status_H"))) {
- ap_proxy_set_wstatus('H', atoi(val), wsel);
+ ap_proxy_set_wstatus(PROXY_WORKER_HOT_STANDBY_FLAG, atoi(val), wsel);
+ }
+ if ((val = apr_table_get(params, "w_status_S"))) {
+ ap_proxy_set_wstatus(PROXY_WORKER_STOPPED_FLAG, atoi(val), wsel);
+ }
+ if ((val = apr_table_get(params, "w_status_C"))) {
+ ap_proxy_set_wstatus(PROXY_WORKER_HC_FAIL_FLAG, atoi(val), wsel);
}
if ((val = apr_table_get(params, "w_ls"))) {
int ival = atoi(val);
@@ -1111,6 +1133,47 @@ static int balancer_handler(request_rec
wsel->s->lbset = ival;
}
}
+ if ((val = apr_table_get(params, "w_hi"))) {
+ int ival = atoi(val);
+ if (ival >= HCHECK_WATHCHDOG_INTERVAL) {
+ wsel->s->interval = apr_time_from_sec(ival);
+ }
+ }
+ if ((val = apr_table_get(params, "w_hp"))) {
+ int ival = atoi(val);
+ if (ival >= 1) {
+ wsel->s->passes = ival;
+ }
+ }
+ if ((val = apr_table_get(params, "w_hf"))) {
+ int ival = atoi(val);
+ if (ival >= 1) {
+ wsel->s->fails = ival;
+ }
+ }
+ if ((val = apr_table_get(params, "w_hm"))) {
+ proxy_hcmethods_t *method = proxy_hcmethods;
+ for (; method->name; method++) {
+ if (!strcasecmp(method->name, val) && method->implemented)
+ wsel->s->method = method->method;
+ }
+ }
+ if ((val = apr_table_get(params, "w_hu"))) {
+ if (strlen(val) && strlen(val) < sizeof(wsel->s->hcuri))
+ strcpy(wsel->s->hcuri, val);
+ else
+ *wsel->s->hcuri = '\0';
+ }
+ if (hc_valid_expr_f && (val = apr_table_get(params, "w_he"))) {
+ if (strlen(val) && hc_valid_expr_f(r, val) && strlen(val) < sizeof(wsel->s->hcexpr))
+ strcpy(wsel->s->hcexpr, val);
+ else
+ *wsel->s->hcexpr = '\0';
+ }
+ /* If the health check method doesn't support an expr, then null it */
+ if (wsel->s->method == NONE || wsel->s->method == TCP) {
+ *wsel->s->hcexpr = '\0';
+ }
/* if enabling, we need to reset all lb params */
if (bsel && !was_usable && PROXY_WORKER_IS_USABLE(wsel)) {
bsel->s->need_reset = 1;
@@ -1228,7 +1291,7 @@ static int balancer_handler(request_rec
/* sync all timestamps */
bsel->wupdated = bsel->s->wupdated = nworker->s->updated = apr_time_now();
/* by default, all new workers are disabled */
- ap_proxy_set_wstatus('D', 1, nworker);
+ ap_proxy_set_wstatus(PROXY_WORKER_DISABLED_FLAG, 1, nworker);
}
if ((rv = PROXY_GLOBAL_UNLOCK(bsel)) != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r, APLOGNO(01203)
@@ -1331,18 +1394,7 @@ static int balancer_handler(request_rec
}
/* Begin proxy_worker_stat */
ap_rputs(" <httpd:status>", r);
- if (worker->s->status & PROXY_WORKER_DISABLED)
- ap_rputs("Disabled", r);
- else if (worker->s->status & PROXY_WORKER_IN_ERROR)
- ap_rputs("Error", r);
- else if (worker->s->status & PROXY_WORKER_STOPPED)
- ap_rputs("Stopped", r);
- else if (worker->s->status & PROXY_WORKER_HOT_STANDBY)
- ap_rputs("Standby", r);
- else if (PROXY_WORKER_IS_USABLE(worker))
- ap_rputs("OK", r);
- else if (!PROXY_WORKER_IS_INITIALIZED(worker))
- ap_rputs("Uninitialized", r);
+ ap_rputs(ap_proxy_parse_wstatus(r->pool, worker), r);
ap_rputs("</httpd:status>\n", r);
if ((worker->s->error_time > 0) && apr_rfc822_date(date, worker->s->error_time) == APR_SUCCESS) {
ap_rvputs(r, " <httpd:error_time>", date,
@@ -1447,7 +1499,7 @@ static int balancer_handler(request_rec
" padding: 2px;\n"
" border-style: dotted;\n"
" border-color: gray;\n"
- " background-color: white;\n"
+ " background-color: lightgray;\n"
" text-align: center;\n"
"}\n"
"td {\n"
@@ -1477,10 +1529,10 @@ static int balancer_handler(request_rec
for (i = 0; i < conf->balancers->nelts; i++) {
ap_rputs("<hr />\n<h3>LoadBalancer Status for ", r);
- ap_rvputs(r, "<a href=\"", ap_escape_uri(r->pool, r->uri), "?b=",
+ ap_rvputs(r, "<a href='", ap_escape_uri(r->pool, r->uri), "?b=",
balancer->s->name + sizeof(BALANCER_PREFIX) - 1,
- "&nonce=", balancer->s->nonce,
- "\">", NULL);
+ "&nonce=", balancer->s->nonce,
+ "'>", NULL);
ap_rvputs(r, balancer->s->name, "</a> [",balancer->s->sname, "]</h3>\n", NULL);
ap_rputs("\n\n<table><tr>"
"<th>MaxMembers</th><th>StickySession</th><th>DisableFailover</th><th>Timeout</th><th>FailoverAttempts</th><th>Method</th>"
@@ -1501,9 +1553,9 @@ static int balancer_handler(request_rec
else {
ap_rputs("<td> (None) ", r);
}
- ap_rprintf(r, "<td>%s</td>\n",
+ ap_rprintf(r, "</td><td>%s</td>\n",
balancer->s->sticky_force ? "On" : "Off");
- ap_rprintf(r, "</td><td>%" APR_TIME_T_FMT "</td>",
+ ap_rprintf(r, "<td>%" APR_TIME_T_FMT "</td>",
apr_time_sec(balancer->s->timeout));
ap_rprintf(r, "<td>%d</td>\n", balancer->s->max_attempts);
ap_rprintf(r, "<td>%s</td>\n",
@@ -1520,19 +1572,22 @@ static int balancer_handler(request_rec
"<th>Worker URL</th>"
"<th>Route</th><th>RouteRedir</th>"
"<th>Factor</th><th>Set</th><th>Status</th>"
- "<th>Elected</th><th>Busy</th><th>Load</th><th>To</th><th>From</th>"
- "</tr>\n", r);
+ "<th>Elected</th><th>Busy</th><th>Load</th><th>To</th><th>From</th>", r);
+ if (set_worker_hc_param_f) {
+ ap_rputs("<th>HC Method</th><th>HC Interval</th><th>Passes</th><th>Fails</th><th>HC uri</th><th>HC Expr</th>", r);
+ }
+ ap_rputs("</tr>\n", r);
workers = (proxy_worker **)balancer->workers->elts;
for (n = 0; n < balancer->workers->nelts; n++) {
char fbuf[50];
worker = *workers;
- ap_rvputs(r, "<tr>\n<td><a href=\"",
+ ap_rvputs(r, "<tr>\n<td><a href='",
ap_escape_uri(r->pool, r->uri), "?b=",
- balancer->s->name + sizeof(BALANCER_PREFIX) - 1, "&w=",
+ balancer->s->name + sizeof(BALANCER_PREFIX) - 1, "&w=",
ap_escape_uri(r->pool, worker->s->name),
- "&nonce=", balancer->s->nonce,
- "\">", NULL);
+ "&nonce=", balancer->s->nonce,
+ "'>", NULL);
ap_rvputs(r, (*worker->s->uds_path ? "<i>" : ""), ap_proxy_worker_name(r->pool, worker),
(*worker->s->uds_path ? "</i>" : ""), "</a></td>", NULL);
ap_rvputs(r, "<td>", ap_escape_html(r->pool, worker->s->route),
@@ -1549,6 +1604,14 @@ static int balancer_handler(request_rec
ap_rputs(apr_strfsize(worker->s->transferred, fbuf), r);
ap_rputs("</td><td>", r);
ap_rputs(apr_strfsize(worker->s->read, fbuf), r);
+ if (set_worker_hc_param_f) {
+ ap_rprintf(r, "</td><td>%s</td>", ap_proxy_show_hcmethod(worker->s->method));
+ ap_rprintf(r, "<td>%d</td>", (int)apr_time_sec(worker->s->interval));
+ ap_rprintf(r, "<td>%d (%d)</td>", worker->s->passes,worker->s->pcount);
+ ap_rprintf(r, "<td>%d (%d)</td>", worker->s->fails, worker->s->fcount);
+ ap_rprintf(r, "<td>%s</td>", worker->s->hcuri);
+ ap_rprintf(r, "<td>%s", worker->s->hcexpr);
+ }
ap_rputs("</td></tr>\n", r);
++workers;
@@ -1557,35 +1620,72 @@ static int balancer_handler(request_rec
++balancer;
}
ap_rputs("<hr />\n", r);
+ if (hc_show_exprs_f) {
+ hc_show_exprs_f(r);
+ }
if (wsel && bsel) {
ap_rputs("<h3>Edit worker settings for ", r);
ap_rvputs(r, (*wsel->s->uds_path?"<i>":""), ap_proxy_worker_name(r->pool, wsel), (*wsel->s->uds_path?"</i>":""), "</h3>\n", NULL);
- ap_rputs("<form method=\"POST\" enctype=\"application/x-www-form-urlencoded\" action=\"", r);
- ap_rvputs(r, ap_escape_uri(r->pool, action), "\">\n", NULL);
- ap_rputs("<dl>\n<table><tr><td>Load factor:</td><td><input name='w_lf' id='w_lf' type=text ", r);
+ ap_rputs("<form method='POST' enctype='application/x-www-form-urlencoded' action='", r);
+ ap_rvputs(r, ap_escape_uri(r->pool, action), "'>\n", NULL);
+ ap_rputs("<table><tr><td>Load factor:</td><td><input name='w_lf' id='w_lf' type=text ", r);
ap_rprintf(r, "value='%d'></td></tr>\n", wsel->s->lbfactor);
ap_rputs("<tr><td>LB Set:</td><td><input name='w_ls' id='w_ls' type=text ", r);
ap_rprintf(r, "value='%d'></td></tr>\n", wsel->s->lbset);
ap_rputs("<tr><td>Route:</td><td><input name='w_wr' id='w_wr' type=text ", r);
- ap_rvputs(r, "value=\"", ap_escape_html(r->pool, wsel->s->route),
+ ap_rvputs(r, "value='", ap_escape_html(r->pool, wsel->s->route),
NULL);
- ap_rputs("\"></td></tr>\n", r);
+ ap_rputs("'></td></tr>\n", r);
ap_rputs("<tr><td>Route Redirect:</td><td><input name='w_rr' id='w_rr' type=text ", r);
- ap_rvputs(r, "value=\"", ap_escape_html(r->pool, wsel->s->redirect),
+ ap_rvputs(r, "value='", ap_escape_html(r->pool, wsel->s->redirect),
NULL);
- ap_rputs("\"></td></tr>\n", r);
+ ap_rputs("'></td></tr>\n", r);
ap_rputs("<tr><td>Status:</td>", r);
ap_rputs("<td><table><tr>"
"<th>Ignore Errors</th>"
"<th>Draining Mode</th>"
"<th>Disabled</th>"
- "<th>Hot Standby</th></tr>\n<tr>", r);
- create_radio("w_status_I", (PROXY_WORKER_IGNORE_ERRORS & wsel->s->status), r);
- create_radio("w_status_N", (PROXY_WORKER_DRAIN & wsel->s->status), r);
- create_radio("w_status_D", (PROXY_WORKER_DISABLED & wsel->s->status), r);
- create_radio("w_status_H", (PROXY_WORKER_HOT_STANDBY & wsel->s->status), r);
- ap_rputs("</tr></table>\n", r);
- ap_rputs("<tr><td colspan=2><input type=submit value='Submit'></td></tr>\n", r);
+ "<th>Hot Standby</th>", r);
+ if (hc_show_exprs_f) {
+ ap_rputs("<th>HC Fail</th>", r);
+ }
+ ap_rputs("<th>Stopped</th></tr>\n<tr>", r);
+ create_radio("w_status_I", (PROXY_WORKER_IS(wsel, PROXY_WORKER_IGNORE_ERRORS)), r);
+ create_radio("w_status_N", (PROXY_WORKER_IS(wsel, PROXY_WORKER_DRAIN)), r);
+ create_radio("w_status_D", (PROXY_WORKER_IS(wsel, PROXY_WORKER_DISABLED)), r);
+ create_radio("w_status_H", (PROXY_WORKER_IS(wsel, PROXY_WORKER_HOT_STANDBY)), r);
+ if (hc_show_exprs_f) {
+ create_radio("w_status_C", (PROXY_WORKER_IS(wsel, PROXY_WORKER_HC_FAIL)), r);
+ }
+ create_radio("w_status_S", (PROXY_WORKER_IS(wsel, PROXY_WORKER_STOPPED)), r);
+ ap_rputs("</tr></table></td></tr>\n", r);
+ if (hc_select_exprs_f) {
+ proxy_hcmethods_t *method = proxy_hcmethods;
+ ap_rputs("<tr><td colspan='2'>\n<table align='center'><tr><th>Health Check param</th><th>Value</th></tr>\n", r);
+ ap_rputs("<tr><td>Method</td><td><select name='w_hm'>\n", r);
+ for (; method->name; method++) {
+ if (method->implemented) {
+ ap_rprintf(r, "<option value='%s' %s >%s</option>\n",
+ method->name,
+ (wsel->s->method == method->method) ? "selected" : "",
+ method->name);
+ }
+ }
+ ap_rputs("</select>\n</td></tr>\n", r);
+ ap_rputs("<tr><td>Expr</td><td><select name='w_he'>\n", r);
+ hc_select_exprs_f(r, wsel->s->hcexpr);
+ ap_rputs("</select>\n</td></tr>\n", r);
+ ap_rprintf(r, "<tr><td>Interval (secs)</td><td><input name='w_hi' id='w_hi' type='text'"
+ "value='%d'></td></tr>\n", (int)apr_time_sec(wsel->s->interval));
+ ap_rprintf(r, "<tr><td>Passes trigger</td><td><input name='w_hp' id='w_hp' type='text'"
+ "value='%d'></td></tr>\n", wsel->s->passes);
+ ap_rprintf(r, "<tr><td>Fails trigger)</td><td><input name='w_hf' id='w_hf' type='text'"
+ "value='%d'></td></tr>\n", wsel->s->fails);
+ ap_rprintf(r, "<tr><td>HC uri</td><td><input name='w_hu' id='w_hu' type='text'"
+ "value='%s'</td></tr>\n", ap_escape_html(r->pool, wsel->s->hcuri));
+ ap_rputs("</table>\n</td></tr>\n", r);
+ }
+ ap_rputs("<tr><td colspan='2'><input type=submit value='Submit'></td></tr>\n", r);
ap_rvputs(r, "</table>\n<input type=hidden name='w' id='w' ", NULL);
ap_rvputs(r, "value='", ap_escape_uri(r->pool, wsel->s->name), "'>\n", NULL);
ap_rvputs(r, "<input type=hidden name='b' id='b' ", NULL);
@@ -1603,7 +1703,7 @@ static int balancer_handler(request_rec
ap_rvputs(r, bsel->s->name, "</h3>\n", NULL);
ap_rputs("<form method='POST' enctype='application/x-www-form-urlencoded' action='", r);
ap_rvputs(r, ap_escape_uri(r->pool, action), "'>\n", NULL);
- ap_rputs("<dl>\n<table>\n", r);
+ ap_rputs("<table>\n", r);
provs = ap_list_provider_names(r->pool, PROXY_LBMETHOD, "0");
if (provs) {
ap_rputs("<tr><td>LBmethod:</td>", r);