If a web site is hosted on a public network it can directly be accessed using it IP. If it is hosted on a private network it can still be accesses if the NAT device conducts a port forwarding of some sort.
If there are multiple instances of the web server than the NAT router can perform load balancing.
However what if there are 2 or more un related servers being hosted on a single private space.
How can the traffic be identified as to which server it is destined for in this case.
On any cloud hosting platform, eg AWS. There may be several different servers but just 1 public IP which is used by all incoming traffic (ofcourse AWS has many public IP's).
But in general if the number oif servers exceed the number of public IP's such hat port forwarding cannot be used. Than how can traffic reach its correct destination.
One method I thought was deep packet inspection at the router such that it read the URL in the application header