Escenario: HTTPs e SNI
Sumario
Introdución
Esquema de rede do escenario.
Configuración do escenario
Configuración do server
Tómase como punto de partida o servidor web ó remate do escenario anterior. Un punto a ter en conta á hora de implantar esta práctica é que van convivir no mesmo servidor sitios web https cun socket propio e sitios web https compartindo o mesmo socket grazas a SNI.
Se vos resulta complicado ou con vistas a montalo en prácticas co alumnado e para distinguir as dúas técnicas preferides que non convivan no mesmo server, o único que habería que facer é eliminar as IPs adicionais e deshabilitar os sitios web de www.tenda1.example e www.tenda2.example co comando a2dissite.
Para deshabilitar os sitios tendaprobas, tanto por http como por https:
$ sudo a2dissite www.tenda1.example.conf $ sudo a2dissite www.tenda1.example-ssl.conf $ sudo a2dissite www.tenda2.example.conf $ sudo a2dissite www.tenda2.example-ssl.conf $ sudo systemctl reload apache2 $ sudo apache2ctl -S
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message VirtualHost configuration: *:80 127.0.0.1 (/etc/apache2/sites-enabled/000-default.conf:1) ServerRoot: "/etc/apache2" Main DocumentRoot: "/var/www/html" Main ErrorLog: "/var/log/apache2/error.log" Mutex ssl-stapling: using_defaults Mutex ssl-cache: using_defaults Mutex default: dir="/var/run/apache2/" mechanism=default Mutex watchdog-callback: using_defaults Mutex ssl-stapling-refresh: using_defaults PidFile: "/var/run/apache2/apache2.pid" Define: DUMP_VHOSTS Define: DUMP_RUN_CFG User: name="www-data" id=33 Group: name="www-data" id=33
Configurar a resolución DNS dende os clientes
Para poder acceder ós sitios web dende os clientes hai que configurar a resolución dns. Igual que no escenario anterior hai dúas solucións:
- Instalar un servidor dns cunha zona para cada un dos dominios probas1.example, probas2.example e probas3.example
- Nos equipos cliente poden engadirse as entradas correspondentes ós hosts www.probas1.example, www.probas2.example e www.probas3.example no arquivo hosts.
Aínda que non é a mellor solución, por ser un escenario de probas escolleuse a segunda por ser a máis rápida e sinxela.
A modo de exemplo así quedaría o arquivo hosts dun cliente linux:
$ cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 lxd 192.0.2.11 www.tenda1.example 192.0.2.12 www.tenda2.example 192.0.2.13 www.probas1.example www.probas2.example www.probas3.example # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters