Apache + SSL su Windows

Apri il file di configurazione , httpd.conf con il tuo editor preferito situato all’interno della conf cartella

1) Individuare la riga #LoadModule ssl_module modules/mod_ssl.so e rimuoverne il commento rimuovendo il simbolo # iniziale.

2) Individua la riga Ascolta 80 e aggiungi immediatamente:
Ascolta 443

3) Creiamo 2 host virtuali, uno per le connessioni sulla porta standard (80) e l’altro per le connessioni protette sulla porta 443, alla fine del file httpd.conf aggiungiamo:

<VirtualHost localhost: 80>
ServerName localhost
ServerAdmin webmaster @ localhost
DocumentRoot C:\server\apache\htdocs
</VirtualHost>

<VirtualHost localhost: 443>
ServerName localhost
ServerAdmin webmaster @ localhost
DocumentRoot C:\server\apache\htdocs
SSLEngine On
SSLCertificateFile C:\server\apache\conf\ssl\localhost.cert
SSLCertificateKeyFile C:\server\apache\conf\ssllocalhost.key
</VirtualHost>

Salviamo e chiudiamo.

Fin qui niente di complicato, ora è il momento di creare un certificato di prova.

Apriamo il prompt dei comandi, Start -> Esegui -> cmd [invio ]

Passiamo alla cartella bin di ApacheSSL digitando cd C:\server\apache\conf

Diamo i seguenti 3 comandi:


openssl req -config openssl.cnf -new -out localhost.csr
openssl rsa -in privkey.pem -out localhost.key
openssl x509 -in localhost.csr -out localhost.cert -req -signkey localhost.key -days 365


Soffermiamoci un attimo su questi 3 passaggi per spiegare cosa è stato fatto;

openssl req -config openssl.cnf -new -out localhost.csr
In questo modo viene creata una richiesta di certificazione del certificato e viene creata la tua chiave privata che fa riferimento al nome del tuo dominio e al certificato stesso, quindi se il browser richiede il nome del certificato e il tuo nome di dominio non corrispondono, il browser ti mostrerà un messaggio di avviso: Il nome del certificato di sicurezza non è valido o non corrisponde al nome del sito.

openssl rsa -in privkey.pem -out localhost.key
Questo passaggio legge la chiave privata dal file di input per scriverla su localhost.key utilizzando RSA

openssl x509 -in localhost.csr -out localhost.cert -req -signkey localhost.key -giorni 365
Quest’ultimo passaggio genera un certificato autofirmato che puoi usare per i test. Il certificato è valido per 365 giorni, se vuoi estenderne la durata, aumenta il numero di giorni in base alle tue esigenze.

I file creati di cui avrai bisogno sono localhost.key e localhost.cert che si trovano in C:\server\apache\conf . Creiamo nella directory C:\server\apache\conf\ una cartella chiamata ssl e successivamente copieremo i file localhost.key e localhost.cert al suo interno.