Globalrestart requiredset by the Hub
The web monitor is a separate program, pmtahttpd, and this line sets the port it listens on. The default is 8080; such a service has no standard port, so something else on the same machine often takes it.
The value 0 does not bring up the monitor at all. This is the only way to switch the management interface off completely — not “closed to everyone” but not started.
All three of the engine’s HTTP interfaces live on this same port: the monitor itself, the configuration APIs (§ 8.2, § 8.3) and the command API (§ 8.4). One port — so one decision about its reachability for all of them.
The port answers both a plain request and a TLS handshake. We verified this on a fleet node: the monitor looks at the first bytes of the connection. It has no separate “port for https.”
The port is stored in node_engines.mgmt_port and substituted into the template. After applying the configuration the Hub restarts the monitor — PmtaConfigApplier::restartMonitor — otherwise a port change will not take effect and the monitoring dashboard will go blank with a healthy engine.
The port is chosen so that it does not face the internet:
| Value | When |
|---|---|
| 1000 | our choice for the fleet |
| 8080 (default) | often taken by another application |
| 0 | the management interface is not needed at all |
The number by itself protects nothing. The restriction is in http-access and in the node’s firewall.
# the node's management interface: the port + who is admitted to it http-mgmt-port 1000http-access 127.0.0.1 admin http-access 10.0.0.5 monitor
what people get wrong and how it ends3 mistakes▶
§ 3.3.1.58.1
our experience
§ 3.3.1.58.1
2 relations
http-accessGlobalThe port opens the door, the list decides whom to let through it. § 3.3.1.58.3
http-redirect-to-httpsGlobalOne of the settings of the very interface that listens on this port. § 3.3.1.58.2http-csrf-protectionGlobalOne of the settings of the very interface that listens on this port. § 3.3.1.58.4http-api-keyGlobalAll three HTTP interfaces that the key opens listen on this port. § 8.4http-strict-transport-security-max-ageGlobalOne of the settings of the very interface that listens on this port. § 3.3.1.58.6http-tls-allow-sslv3GlobalOne of the settings of the very interface that listens on this port. § 3.3.1.58.8http-tls-allow-tlsv1GlobalOne of the settings of the very interface that listens on this port. § 3.3.1.58.9
ss -lntp | grep ':1000'
3 articles
◇What the node tells about itself and through which channelsSeven observation surfaces: the web monitor, the console in four formats, the log, accounting, accounting search, metrics and export to external analytics.◇Two inbound report processors and what to do with themBounces by message and complaints are parsed by two identically structured blocks; each has its own address list and its own pair of decisions about the message’s fate.◇Five ways for a queue to hand off a messageA queue does not have to use SMTP: it can write to a file, run a program, call over HTTP or discard.