Blame docs/manual/mod/mod_proxy_wstunnel.html.en

Packit 90a5c9
Packit 90a5c9
Packit 90a5c9
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
Packit 90a5c9
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
Packit 90a5c9
Packit 90a5c9
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Packit 90a5c9
              This file is generated from xml source: DO NOT EDIT
Packit 90a5c9
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Packit 90a5c9
      -->
Packit 90a5c9
<title>mod_proxy_wstunnel - Apache HTTP Server Version 2.4</title>
Packit 90a5c9
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
Packit 90a5c9
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
Packit 90a5c9
<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" />
Packit 90a5c9
<script src="../style/scripts/prettify.min.js" type="text/javascript">
Packit 90a5c9
</script>
Packit 90a5c9
Packit 90a5c9
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
Packit 90a5c9
<body>
Packit 90a5c9
Packit 90a5c9

Modules | Directives | FAQ | Glossary | Sitemap

Packit 90a5c9

Apache HTTP Server Version 2.4

Packit 90a5c9
Packit 90a5c9
<-
Packit 90a5c9
Packit 90a5c9
Apache > HTTP Server > Documentation > Version 2.4 > Modules
Packit 90a5c9
Packit 90a5c9

Apache Module mod_proxy_wstunnel

Packit 90a5c9
Packit 90a5c9

Available Languages:  en  |

Packit 90a5c9
 fr 

Packit 90a5c9
Packit 90a5c9
Description:Websockets support module for
Packit 90a5c9
mod_proxy
Packit 90a5c9
Status:Extension
Packit 90a5c9
Module Identifier:proxy_wstunnel_module
Packit 90a5c9
Source File:mod_proxy_wstunnel.c
Packit 90a5c9
Compatibility:Available in httpd 2.4.5 and later
Packit 90a5c9

Summary

Packit 90a5c9
Packit 90a5c9
    

This module requires the service of mod_proxy. It provides support for the tunnelling of web

Packit 90a5c9
    socket connections to a backend websockets server. The connection
Packit 90a5c9
    is automatically upgraded to a websocket connection:

Packit 90a5c9
Packit 90a5c9
    

HTTP Response

Upgrade: WebSocket
Packit 90a5c9
Connection: Upgrade
Packit 90a5c9
Packit 90a5c9
Packit 90a5c9

Proxying requests to a websockets server like echo.websocket.org can be done using the

Packit 90a5c9
ProxyPass directive:

Packit 90a5c9
    
ProxyPass "/ws2/"  "ws://echo.websocket.org/"
Packit 90a5c9
ProxyPass "/wss2/" "wss://echo.websocket.org/"
Packit 90a5c9
Packit 90a5c9
Packit 90a5c9

Load balancing for multiple backends can be achieved using mod_proxy_balancer.

Packit 90a5c9
Packit 90a5c9

In fact the module can be used to upgrade to other protocols, you can set the upgrade

Packit 90a5c9
parameter in the ProxyPass
Packit 90a5c9
directive to allow the module to accept other protocol.
Packit 90a5c9
NONE means you bypass the check for the header but still upgrade to WebSocket.
Packit 90a5c9
ANY means that Upgrade will read in the request headers and use
Packit 90a5c9
in the response Upgrade

Packit 90a5c9
Packit 90a5c9
Support Apache!

Directives

Packit 90a5c9

This module provides no

Packit 90a5c9
            directives.

Packit 90a5c9

Bugfix checklist

See also

Packit 90a5c9
    Packit 90a5c9
  • mod_proxy
  • Packit 90a5c9
  • Comments
  • Packit 90a5c9
    Packit 90a5c9
    Packit 90a5c9
    Packit 90a5c9

    Available Languages:  en  |

    Packit 90a5c9
     fr 

    Packit 90a5c9
    top

    Comments

    Notice:
    This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
    Packit 90a5c9
    <script type="text/javascript">
    Packit 90a5c9
    var comments_shortname = 'httpd';
    Packit 90a5c9
    var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_proxy_wstunnel.html';
    Packit 90a5c9
    (function(w, d) {
    Packit 90a5c9
        if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    Packit 90a5c9
            d.write('
    <\/div>');
    Packit 90a5c9
            var s = d.createElement('script');
    Packit 90a5c9
            s.type = 'text/javascript';
    Packit 90a5c9
            s.async = true;
    Packit 90a5c9
            s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    Packit 90a5c9
            (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    Packit 90a5c9
        }
    Packit 90a5c9
        else { 
    Packit 90a5c9
            d.write('
    Comments are disabled for this page at the moment.<\/div>');
    Packit 90a5c9
        }
    Packit 90a5c9
    })(window, document);
    Packit 90a5c9
    //--></script>
    Packit 90a5c9

    Copyright 2018 The Apache Software Foundation.
    Licensed under the Apache License, Version 2.0.

    Packit 90a5c9

    Modules | Directives | FAQ | Glossary | Sitemap

    <script type="text/javascript">
    Packit 90a5c9
    if (typeof(prettyPrint) !== 'undefined') {
    Packit 90a5c9
        prettyPrint();
    Packit 90a5c9
    }
    Packit 90a5c9
    //--></script>
    Packit 90a5c9
    </body></html>