This is my web adaptor looks like, 2 web adaptor installed on same machine name: covchgisweb. From IIS configure, you can see, there are at least 2 web application, one is arcgis one is portal
'Arcgis' will point to another machine where installed arcgis server.
'portal' will point to another machine where installed arcgis portal.
1. Why I use IIS web adaptor, not other web adaptor? Because arcgis portal and server is running on windows server, windows server only use IIS as its public facing web server. If Arcgis portal and sever runs on linux server, IIS web adaptor will becomes to Apache Web adaptor, since Apache web server is only public facing web server running on linux server. Node.js web server can runs on both windows and linux, potentially ESRI can create a node.js version of web adaptor, however Node.js isn't native to windows nor linux, and windows server, linux server don't carry node.js at all, you have to install youself. That is why ESRI don't choose Node.js verion of web adaptor. If you run arcgis server or portal on java web server, Tomcat version alongs with other java based web server web adaptor is available to you now. check here.
https://enterprise.arcgis.com/en/system-requirements/latest/linux/arcgis-web-adaptor-system-requirements.htm
Arcgis server and portal is just web application, in theory it can runs on any web server, including IIS(windows only), apache (both windows and linux), java based web server can run on both windows and linux( such as tomcat, IBM websphere). Node.js web server and run both windows and linux). Depending on what web server your arcgis server is runing, you will have to pick the cooresponding web adaptor for it.
2. Why I need web adaptor at all? Because web adaptor allow you to use single server machine( which web adaptor installed ) to handle multiple web application installed on different servers.
2.1 victorvilleca.gov is organization's root domain.
2.1.1 with web adaptor I can single one sub-domain gis1.victorvilleca.gov to handle all arcgis web application, in my case, I have 2 web application, 1 is arcgis server, another 1 is arcgis portal.
If user use gis1.victorvilleca.gov/argis on their browser, web adaptor will forward user to where ever my arcgis server web application installed machine.
If user use gis1.victorvilleca.gov/portal on their browser, web adaptor will forward user to where ever my arcgis portal web application installed machine.
2.1.2 without web adaptor, I have to create 2 sub-domain, 1 is gis-server.victorvilleca.gov for arcgis server web application. 1 is gis-portal.victorvilleca.gov for arcgis portal web application.
2.2 Another good thing web adaptor does is allow you use short DNS instead of full computer machine name (with port number).
2.2.1 Without web adaptor you will have to use full qualified long machine name with port number. That means you have to expose both arcgis server machine and portal machine to public on the internet. Which will result more attack risk.
2.2.2 With web adaptor, you only need expose 1 machine which is your web adaptor install machine to public internet. All other machine installed arcgis server and portal can be hidden from public.
For example, user in their browser address bar, typing request URL , gis1.victorvilleca.gov/argis,
root domain, victorvilleca.gov will bring user to city's main DNS server.
city's DNS server will look up sub domain, gis1, ok, found it, it is arcgis IIS web adaptor installed machine, then forward user to this IIS web adaptor machine.
Now IIS web adaptor take into place start to work by parsing user's URL further. IIS web adaptor found the URL have '/argis', ok, found it, it should go arcgis server machine. If found '/portal', it will forward to portal machine.
2.2.3 How does IIS web adaptor know '/portal' should go to portal machine, /argis' should go to arcserver machine?
The linkage is exactly what you configured during the web adaptor installing proccess.
During the server web adaptor installing prcess, you actually did 1 thing which is create the linkage between '/arcgis' with your full arcserver machine name.
During the portal web adaptor installing prcess, you actually did 1 thing which is create the linkage between '/portal' with your full portal machine name.
Continue.... in part 2