3HTTP servers and proxy servers
- 3.1Configuring and Managing the Apache HTTP Server
Learn to configure and operate the Apache HTTP Server (httpd/apache2): the httpd.conf file, control via apachectl/apache2ctl, access and error logs, hosting multiple sites with virtual hosts, per-directory overrides via .htaccess, Basic authentication with mod_auth_basic, mod_authz_host, AuthUserFile, AuthGroupFile, and htpasswd, and URL forwarding with Redirect.
- 3.2OpenSSL and HTTPS Configuration
Learn to enable HTTPS on Apache with OpenSSL: where certificates and keys live (/etc/ssl/, /etc/pki/), enabling SSL/TLS with SSLEngine, specifying the certificate and key via SSLCertificateFile and SSLCertificateKeyFile, controlling protocol and cipher choice with SSLProtocol and SSLCipherSuite, specifying CA certificates with SSLCACertificateFile and SSLCACertificatePath, and manipulating keys/certificates with the openssl command.
- 3.3Configuring and Managing nginx
Learn nginx basics and its use as a reverse proxy: the configuration directory /etc/nginx/, control via the nginx command, enabling HTTPS with the ssl directives (ssl_certificate, ssl_certificate_key, ssl_ciphers, ssl_protocols), forwarding to a backend with proxy_pass, and tuning proxy behavior with proxy_http_version and proxy_set_header.
- 3.4Configuring and Managing Squid
Learn the basics of Squid, a forward proxy software: its configuration file squid.conf, the squidclient tool for testing, the http_access directive that controls access, and acl (access control lists) that define its conditions.

