mod_bosh
BOSH allows clients to use HTTP to communicate with XMPP servers. Often used to allow browser based webclients to connect to an XMPP server, BOSH is also useful in situations where a user is behind a firewall or NAT is preventing connections to the required server ports.
Details
mod_bosh implements XEP-0124 and XEP-0206. For more advanced configuration options see Setting up a BOSH server.
Usage
= {
modules_enabled -- Other modules
"bosh"; -- Enable mod_bosh
}
Configuration
Note that these options only work in the global section of the config.
Option | Default | Notes |
---|---|---|
bosh_max_inactivity | 60 | Maximum amount of time in seconds a client may remain silent for, with no requests |
consider_bosh_secure | false | If true then BOSH connections will be allowed when requiring encryption, even if unencrypted |
cross_domain_bosh | false | Set to true to enable cross-domain requests from websites, or a list like { "http://jabber.org", "http://prosody.im" } |
Advanced options
⚠️ These advanced options are best left at their defaults unless you know what you are doing
Option | Default | Notes |
---|---|---|
bosh_default_hold | 1 | Maximum number of requests the server will hold open for a client |
bosh_max_requests | 2 | Maximum number of requests a client may make to the server at a time |
bosh_max_wait | 120 | The maximum amount of time a single request will be held open by Prosody with no response. Clients may request a lower value for a given session. |
trusted_proxies | { "127.0.0.1", "::1" } |
A list of proxies to trust, used to find a client's real IP |
Example
= {
modules_enabled -- Other modules
"bosh"; -- Enable mod_bosh
}
= 60
bosh_max_inactivity = true -- Use if proxying HTTPS->HTTP on the server side
consider_bosh_secure = true -- Allow access from scripts on any site with no proxy (requires a modern browser) cross_domain_bosh