The scarcity of IP addresses is no problem at all if you go to IPv6.
IPv6 works wonderful in the i now that they discarded the "Happy eyeballs"
protocol that caused delays when IPv6 is enabled.

On Mon, May 20, 2024 at 7:29 AM Patrik Schindler <poc@xxxxxxxxxx> wrote:

Hello Don,

to expand your knowledge a bit…


Am 19.05.2024 um 05:04 schrieb Don Brown via MIDRANGE-L <
midrange-l@xxxxxxxxxxxxxxxxxx>:

Thank you for your reply but I do not see how I can have 2 different
HTTP servers both listening on port 443 without assigning a different IP
address to each ?

Apache has a main thread — or process — listening on the socket for Ports
80 and probably 443, and that one dispatches work according to the
configuration to "workers" which do the actual content serving. There is no
"fight" for the port because the port is allocated and served by a shared
code path within Apache. (To be precise, there is no fight for the socket
bind() call to succeed.)

The http/1.1 specification from 1997 mandates that compatible clients
should (?) use the back then new header "host". It's generated by the
client and allows the server to route the request to the desired virtual
host, being the one thing which is distinct in the request. "Virtual"
because you don't need a completely separate web server instance for that,
being differentiated by separate ports or IP addresses, but (for Apache)
configuration directives ServerName and ServerAlias.

https://datatracker.ietf.org/doc/html/rfc2616#section-14.23

You can see this development as the "server side" answer to NAT, to
counter the scarcity of IP addresses, which was a concern in the 1990's. At
least in Germany. (Using different ports isn't really feasible in practice:
How is anyone supposed to know which website uses which port on a given IP
address? This is why well-known ports — such as 80 for http — have been
specified.)

Browsers adopted the new header fairly quickly. The rest is history.

So I currently have HTTP Server ZENDPHP7 listening on port 443.

I am migrating the applications to run with Sieden's Community PHP and
I have a new server APP01 that I also want to listen on port 443

I don't see how I can achieve that with virtual servers or am I not
understanding ?

You're probably still assuming the behavior of the very old IBM web server
of V4R5? AFAIK this one is not http 1.1 aware and thus can't distinguish
desired websites with the host header from clients. This requires some
element being distinct to allow requests ending up on the correct server
instance: Port or IP address.


Hope that clarifies things further for you (and others!).

:wq! PoC



--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.