Here's an example of a request header. The IP and host name are in the request header. This is a Bingbot request. For a ban I usually only use the IP.

2019-02-11:00:03:53
URL: /wp/tag/fire-code/
IP: 157.55.39.xxx
Accept: */*
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
Connection: Keep-Alive
From: bingbot(at)microsoft.com
Host: ewxample.com
Pragma: no-cache
User-Agent: Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)
X-Https: 1

On Fri, 22 Feb 2019 at 11:32, Giles Orr via talk <talk@gtalug.org> wrote:
On Fri, 22 Feb 2019 at 11:12, James Knott via talk <talk@gtalug.org> wrote:
On 02/22/2019 11:00 AM, Don Tai wrote:
> A host will have a number of IPs, a box is on a specific IP, there
> will be a number of web sites on the same box, many domain names
> pointing to the same IP. For example my sites are on a box with 25
> different sites that I know of, all pointing to the same IP. If one of
> them causes a ban on the IP then all sites are affected/banned.

If each server has the same IP, how are they differentiated?  The only
ways I know are to use non standard port numbers or extend the host name
with a suffix after a /.

A single instance of Apache or Nginx (and probably most other HTTP servers) can handle multiple names on one port at one IP address.  We use this ability a fair bit at my work: the web server determines what name you're looking for from the incoming header, looks at its own config to find out where on the box that website is stored, and responds with the proper information.  The most obvious implementation of this is hosting sites who have used this ability for around 20 years.

Presumably similar things can be done with most other incoming services, although I'm most familiar with the behaviour of web servers.

--
---
Talk Mailing List
talk@gtalug.org
https://gtalug.org/mailman/listinfo/talk