GNU/Linux >> Linux Esercitazione >  >> Linux

Utilizzo di SNI per ospitare più certificati SSL in Apache

Server Name Identification (SNI) è un'estensione del protocollo Secure Socket Layer (SSL) e TransportLayer Security (TLS) che consente di ospitare più certificati SSL su un unico indirizzo IP (Internet Protocol). Questo articolo descrive come utilizzare SNI per ospitare più certificati SSL in Apache®.

Prerequisiti

Il tuo server deve soddisfare i seguenti requisiti per utilizzare SNI:

  • Apache v2.2.12 o successivo
  • OpenSSL® v 0.9.8j o successivo
  • deve essere installato mod_ssl

I seguenti sistemi operativi supportano SNI senza ulteriori modifiche:

  • Red Hat® Enterprise Linux® (RHEL) 6 e versioni successive
  • Fedora® 10 e successivi
  • CentOS® 6
  • Debian® 6 e versioni successive
  • Ubuntu® 10.04 e versioni successive

I seguenti sistemi operativi richiedono la compilazione di Apache, OpenSSL e mod_ssl con le versioni appropriate:

  • Red Hat Enterprise Linux 5
  • Cento 5

Verifica che mod_ssl sia installato

Prima di utilizzare SNI, verifica che mod_ssl sia installato eseguendo il comando seguente:

RHEL, CentOS e Fedora

yum list installed | grep mod_ssl

Sistemi operativi Debian e Ubuntu

dpkg -s apache2.2-common

Se mod_ssl non è installato, utilizzare il comando seguente per installarlo:

RHEL, CentOS e Fedora

yum install mod_ssl

Sistemi operativi Debian e Ubuntu

Per i sistemi operativi Debian e Ubuntu, installa mod_ssl utilizzando il comando seguente:

 apt-get install apache2.2-common

Quindi abilitare il modulo eseguendo a2enmod ssl; /etc/init.d/apache2 reload .

Configura i vhost

Aggiungi le seguenti righe nel file di configurazione di Apache root (apache2.conf o httpd.conf ):

# Ensure that Apache listens on port 443
Listen 443

# Listen for virtual host requests on all IP addresses
NameVirtualHost *:443

# Accept connections for these vhosts from non-SNI clients
SSLStrictSNIVHostCheck off

Nel file di configurazione di vhost per ogni sito, è necessario aggiungere la configurazione dell'host virtuale. Dovrebbe essere simile ai seguenti esempi:

Primo host virtuale:

<VirtualHost *:443>

 ServerName www.yoursite.com

 DocumentRoot /var/www/site

 SSLEngine on

 SSLCertificateFile /path/to/www_yoursite_com.crt

 SSLCertificateKeyFile /path/to/www_yoursite_com.key

 SSLCertificateChainFile /path/to/DigiCertCA.crt

</Virtual Host>

Secondo host:

<VirtualHost *:443>

 ServerName www.yoursite2.com

 DocumentRoot /var/www/site2

 SSLEngine on

 SSLCertificateFile /path/to/www_yoursite2_com.crt

 SSLCertificateKeyFile /path/to/www_yoursite2_com.key

 SSLCertificateChainFile /path/to/DigiCertCA.crt

</Virtual Host>

Puoi testare la configurazione con un certificato autofirmato utilizzando il comando seguente:

openssl req -new -nodes -keyout mykey.key -out mycert.cer -days 3650 -x509

Specificare il nome di dominio nel Nome comune sezione, quindi riavvia Apache.

Browser supportati

SNI è supportato dalla maggior parte dei browser, tuttavia i browser meno recenti come Internet Explorer® 6 e qualsiasi browser Windows® XP® non supportano SNI.

Browser per desktop

  • Internet Explorer 7 e versioni successive

  • Firefox® 2 e versioni successive

  • Opera 8 con TLS 1.1 abilitato

  • Google Chrome®:

    • Supportato su Windows XP su Chrome 6 e versioni successive
    • Supportato su Vista e versioni successive per impostazione predefinita
    • Supportato su OS X 10.5.7 in Chrome versione 5.0.342.0 e successive
  • Chromium® 11.0.696.28 e versioni successive

  • Safari 2.1 e versioni successive (richiede OS X 10.5.6 e versioni successive o Windows Vista e versioni successive).

Nota: Nessuna versione di Internet Explorer su Windows XP supporta SNI.

Browser mobili

  • Mobile Safari per iOS 4.0 e versioni successive
  • Android 3.0 (Honeycomb) e versioni successive
  • Windows Phone 7 e versioni successive

Browser non supportati

I browser non supportati caricano il certificato SSL del primo host virtuale caricato da Apache. Puoi invece visualizzare un errore 403 aggiungendo la seguente riga al file di configurazione di Apache(apache2.conf o httpd.conf ):

SSLStrictSNIVHostCheck on

Linux
  1. Utilizzo di mod_cluster in Apache

  2. Utilizzo di HTTPS come backend proxy in Apache 2.4

  3. Come configurare più certificati SSL su un VPS CentOS con Apache utilizzando un indirizzo IP

  4. Come configurare un sottodominio o ospitare più domini usando nginx nel server Linux

  5. Panoramica IIS SNI

Come ospitare un sito Web utilizzando Apache con SSL in Rocky Linux

Come installare Apache per ospitare un sito Web con SSL in AlmaLinux

Installa certificati SSL in un server Windows

Come installare Apache in CentOS 8

Ospita più siti Web su un unico server con Apache su Ubuntu 18.04

Certificati autofirmati master su Windows e Linux