config.xml file located in the conf directory of your HiveMQ installation.
Configuration File Location
The main configuration file is located at:Configuration Structure
The configuration file uses XML format with the following root structure:Main Configuration Sections
The HiveMQ configuration is organized into the following sections:Listeners
Define network listeners for MQTT clients to connect. HiveMQ supports:- TCP listeners (port 1883 by default)
- TLS/SSL TCP listeners (port 8883 by default)
- WebSocket listeners (port 8000 by default)
- TLS/SSL WebSocket listeners
MQTT Settings
Configure MQTT protocol behavior including:- Message queuing and retention
- Quality of Service (QoS) settings
- Session and message expiry
- Topic aliases and subscriptions
- Keep-alive settings
Security
Configure security-related settings:- UTF-8 validation
- Payload format validation
- Client ID handling
- Problem information requests
Persistence
Configure data persistence mode:- File-based persistence (default)
- In-memory persistence
Restrictions
Set limits and restrictions:- Maximum connections
- Client ID and topic length limits
- Connection timeouts
- Bandwidth throttling
Configuration Examples
HiveMQ includes example configuration files in theconf/examples/configuration directory:
config-sample-tcp-and-websockets.xml- TCP and WebSocket listenersconfig-sample-mqtt.xml- MQTT protocol settingsconfig-sample-mqtt-tls.xml- TLS/SSL configurationconfig-sample-websockets.xml- WebSocket configuration
Minimal Configuration
The minimal valid configuration includes at least one listener:Configuration Validation
HiveMQ validates the configuration against the XML schema (config.xsd) on startup. If the configuration is invalid, HiveMQ will log detailed error messages and fail to start.