<!DOCTYPE html>

<html lang="en">
<head>
    <title>Chapter 15 - Proxy &mdash; Apache MINA</title>

    <link href="/assets/css/common.css" rel="stylesheet" type="text/css"/>
    <link href="/assets/css/mina.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<script src="https://www.apachecon.com/event-images/snippet.js"></script>
<div id="container">
    <div id="header">
    <div id="subProjectsNavBar">
        <a href="/">
            
                Apache MINA Project
            
        </a>
        &nbsp;|&nbsp;
        <a href="/mina-project/">
            
                <strong>MINA</strong>
            
        </a>
        &nbsp;|&nbsp;
        <a href="/asyncweb-project/">
            
                AsyncWeb
            
        </a>
        &nbsp;|&nbsp;
        <a href="/ftpserver-project/">
            
                FtpServer
            
        </a>
        &nbsp;|&nbsp;
        <a href="/sshd-project/">
            
                SSHD
            
        </a>
        &nbsp;|&nbsp;
        <a href="/vysper-project/">
            
                Vysper
            
        </a>
    </div>
</div>


    <div id="content">
        <div id="leftColumn">
            <div id="navigation">
                <a class="acevent" data-format="wide" data-width="170"></a>
                <h5>Social Networks</h5>
                <ul>
                    <li><a href="https://fosstodon.org/@apachemina">Apache MINA Mastodon</a></li>
                </ul>
                <h5>Latest Downloads</h5>
                <ul>
                    <li><a href="/mina-project/downloads_2_0.html">Mina 2.0.25</a></li>
                    <li><a href="/mina-project/downloads_2_1.html">Mina 2.1.8</a></li>
                    <li><a href="/mina-project/downloads_2_2.html">Mina 2.2.3</a></li>
                    <li><a href="/mina-project/downloads_old.html">Mina old versions</a></li>
                </ul>
                <h5>Documentation</h5>
                <ul>
                    <li><a href="/mina-project/documentation.html" class="external-link" rel="nofollow">Base documentation</a></li>
                    <li><a href="/mina-project/userguide/user-guide-toc.html" class="external-link" rel="nofollow">User guide</a></li>
                    <li><a href="/mina-project/2.2-vs-2.1.html" class="external-link" rel="nofollow">2.2 vs 2.1</a></li>
                    <li><a href="/mina-project/2.1-vs-2.0.html" class="external-link" rel="nofollow">2.1 vs 2.0</a></li>
                    <li><a href="/mina-project/features.html" class="external-link" rel="nofollow">Features</a></li>
                    <li><a href="/mina-project/road-map.html" class="external-link" rel="nofollow">Road Map</a></li>
                    <li><a href="/mina-project/quick-start-guide.html" class="external-link" rel="nofollow">Quick Start Guide</a></li>
                    <li><a href="/mina-project/faq.html" class="external-link" rel="nofollow">FAQ</a></li>
                </ul>
                <h5>Resources</h5>
                <ul>
                    <li><a href="/mina-project/mailing-lists.html" class="external-link" rel="nofollow">Mailing lists &amp; IRC</a></li>
                    <li><a href="/mina-project/issue-tracking.html" class="external-link" rel="nofollow">Issue tracking</a></li>
                    <li><a href="/mina-project/sources.html" class="external-link" rel="nofollow">Sources</a></li>
                    <li><a href="/mina-project/gen-docs/latest-2.0/apidocs/index.html" class="external-link" rel="nofollow">API Javadoc 2.0.25</a></li>
                    <li><a href="/mina-project/gen-docs/latest-2.1/apidocs/index.html" class="external-link" rel="nofollow">API Javadoc 2.1.8</a></li>
                    <li><a href="/mina-project/gen-docs/latest-2.2/apidocs/index.html" class="external-link" rel="nofollow">API Javadoc 2.2.3</a></li>
                    <li><a href="/mina-project/gen-docs/latest-2.0/xref/index.html" class="external-link" rel="nofollow">API xref  2.0.25</a></li>
                    <li><a href="/mina-project/gen-docs/latest-2.1/xref/index.html" class="external-link" rel="nofollow">API xref 2.1.8</a></li>
                    <li><a href="/mina-project/gen-docs/latest-2.2/xref/index.html" class="external-link" rel="nofollow">API xref 2.2.3</a></li>
                    <li><a href="/mina-project/performances.html" class="external-link" rel="nofollow">Performances</a></li>
                    <li><a href="/mina-project/testimonials.html" class="external-link" rel="nofollow">Testimonials</a></li>
                    <li><a href="/mina-project/conferences.html" class="external-link" rel="nofollow">Conferences</a></li>
                    <li><a href="/mina-project/developer-guide.html" class="external-link" rel="nofollow">Developers Guide</a></li>
                    <li><a href="/mina-project/related-projects.html" class="external-link" rel="nofollow">Related Projects</a></li>
                    <li><a href="https://people.apache.org/~vgritsenko/stats/projects/mina.html" class="external-link" rel="nofollow">Statistics</a></li>
                </ul>

                <h5>Community</h5>
                <ul>
                    <li><a href="https://www.apache.org/foundation/contributing.html" class="external-link" rel="nofollow">Contributing</a></li>
                    <li><a href="/contributors.html" class="external-link" rel="nofollow">Team</a></li>
                    <li><a href="/special-thanks.html" class="external-link" rel="nofollow">Special Thanks</a></li>
                    <li><a href="https://www.apache.org/security/" class="external-link" rel="nofollow">Security</a></li>
                </ul>

                <h5>About Apache</h5>
                <ul>
                    <li><a href="https://www.apache.org" class="external-link" rel="nofollow">Apache main site</a></li>
                    <li><a href="https://www.apache.org/licenses/" class="external-link" rel="nofollow">License</a></li>
                    <li><a href="https://www.apache.org/foundation/sponsorship.html" title="The ASF sponsorship program" class="external-link" rel="nofollow">Sponsorship program</a></li>
                    <li><a href="https://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">Thanks</a></li>
                </ul>

                <h3><a name="Navigation-Upcoming"></a>Upcoming</h3>
                <ul>
                    <li>No event</li>
                </ul>
            </div>
        </div>
        <div id="rightColumn">
            
    <div class="nav">
        <div class="nav_prev">
            
                
                <a href="../ch14-state-machine/ch14-state-machine.html">Chapter 14 - State Machine</a>
            
        </div>
        <div class="nav_up">
            
                
                <a href="../user-guide-toc.html">User Guide</a>
            
        </div>
        <div class="nav_next">
            
                
                <a href="../ch16-jmx-support/ch16-jmx-support.html">Chapter 16 - JMX support</a>
            
        </div>
        <div class="clearfix"></div>
    </div>


            
	<h1 id="chapter-15---proxy">Chapter 15 - Proxy</h1>
<p>To be completed&hellip;</p>


            
    <div class="nav">
        <div class="nav_prev">
            
                
                <a href="../ch14-state-machine/ch14-state-machine.html">Chapter 14 - State Machine</a>
            
        </div>
        <div class="nav_up">
            
                
                <a href="../user-guide-toc.html">User Guide</a>
            
        </div>
        <div class="nav_next">
            
                
                <a href="../ch16-jmx-support/ch16-jmx-support.html">Chapter 16 - JMX support</a>
            
        </div>
        <div class="clearfix"></div>
    </div>


        </div>
        <div id="endContent"></div>
    </div>

    <div id="footer">
    &copy; 2003-2024, <a href="https://www.apache.org">The Apache Software Foundation</a> - <a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy Policy</a><br />
    Apache MINA, MINA, Apache Vysper, Vysper, Apache SSHd, SSHd, Apache FtpServer, FtpServer, Apache AsyncWeb, AsyncWeb,
    Apache, the Apache feather logo, and the Apache Mina project logos are trademarks of The Apache Software Foundation.
</div>

</div>

</body>

</html>
