Overview
If you enabled the new gRPC network architecture where M-Files maintains an instance of Traefik, you may see its process (mf-traefik.exe) failing to start and crashing constantly.
The Traefik logs (C:\Windows\TEMP\MFilesLogs\traefikLog-<ProcessID>.txt or C:\windows\system32\traefikLog-<ProcessID>.txt) would have a series of entries similar to this:
2025-11-28T13:48:13+10:00 ERR github.com/traefik/traefik/v3/cmd/traefik/traefik.go:85 > Command error error="command mf-traefik.exe error: error while building entryPoint webInsecure: error preparing server: error opening listener: listen tcp :80: bind: An attempt was made to access a socket in a way forbidden by its access permissions."
Solution
The error means that Traefik tries to listen to port 80, but some other process is already listening on this port, so Traefik cannot do that.
You need to find what that service/process is and stop it, so you can free up the port for use with Traefik, then restart the M-Files Server service.
How to check which process is using a port
- Run the command prompt (cmd) as administrator.
- Execute the command
netstat -anob
The output will list the ports and processes listening to them.
A properly working system will have something similar to this
C:\Users\Administrator>netstat -anob
Active Connections
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 5624
[mf-traefik.exe]
. . . .
TCP [::]:80 [::]:0 LISTENING 5624
[mf-traefik.exe]
In a problematic situation you may see something similar to this
C:\Users\Administrator>netstat -anob
Active Connections
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
. . . .
Can not obtain ownership information
TCP [::]:80 [::]:0 LISTENING 4
Which, in this case, indicates that process ID 4 (which is SYSTEM) is using the port, and that it is not exactly clear which service it is that is using it.
In other situations you may see different information - e.g., specific processes and their IDs that will tell you which service/program is the issue so you can stop it.
For example, for System services, you can use an approach similar to the one described here (note: this is third party content whose availability and correctness we do not control).
In one example case, the result from
net stop http
was as follows and stopping the BranchCache service between the command executions helped and let Traefik use port 80 and start working (it was found by trial and error - disabling them one by one to see which helps).
