You can have a set of dedicated client connection endpoints on the public Internet
which will use a proxy, load balancer or similar (e.g. Nginx for HTTP location rewrites) to route client traffic to
a RabbitMQ cluster. It can also perform TLS termination if that makes sense, or pass TLS traffic directly to RabbitMQ.
Federation and Shovel plugins are known to be used in "PoS style aggregation" from multiple independent locations or installations
into a centralized cluster. The most common scenario involves local clients at each location publishing to their local RabbitMQ cluster
and Shovel moving messages across WAN to a remote one.
If you have installations that are installed on premises it is important
to consider how they would be provisioned and operated with a significantly different architecture that uses Shovels (for example).
Whether such on premises installations would allow outgoing client or Shovel traffic is another question that immediately comes to mind: if they won't,
the entire idea is likely a no-go.
That's about as much as I can suggest given the amount of information provided. That and: we do not recommend exposing
entire RabbitMQ clusters to the public Internet. In most cases a set of proxy nodes of some kind (HAproxy is a commonly used tool for this purpose)
is worth having because it gives you certain means for abuse prevention that RabbitMQ itself does not and likely won't any time soon.