This check is not valid, the main feature that introduces haproxy is that we are able to share ports handled by it, so you can have multiple services serving pages on port 443 or 80 or any other custom port. The only restrictions we need to check are:
- There is no other service using that port which is not haproxy.
- If haproxy handles it, that is the same kind of traffic (all services must be http or https never a mix)
- If haproxy handles it, that there is no other service with an overlapping vhost ($module->targetVHostDomains()). If the list is empty, it means that the service must be the default on the port it listens, so there cannot be another service sharing the port in the same situation.

That's more or less it. Those checks may change later, once the jamor's branch that routes services per url is merged.

Given that we are going to do the same checks for user corner and captiver portal, what about trying to reuse the check code between all of them and the general HAProxy table?