Sono nuovo a configurare SSL da zero e ho fatto i miei primi passi. Ho acquistato un certificato SSL da RapidSSL per il mio dominio e ho seguito i passaggi per installare il certificato. In generale il certificato è valido e funziona sul mio server web (nginx v1.4.6 - Ubuntu 14.04.1 LTS), ma se sto provando ad attivare OCSP OCSP ottengo il seguente errore nel mio errore nginx.log:
OCSP_basic_verify () non riuscito (SSL: errore: 27069065: routine OCSP: OCSP_basic_verify: errore di verifica certificato: errore di verifica: impossibile ottenere il certificato emittente locale) durante la richiesta dello stato del certificato, risponditore: gv.symcd.com
L'ho provato anche con questo comando dalla riga di comando:
openssl s_client -connect mydomain.tld: 443 2> & 1 </ dev / null
E ho ottenuto lo "stesso" errore come nel mio error.log:
[...] Sessione SSL: Protocollo: Cipher TLSv1.2: ECDHE-RSA-AES256-GCM-SHA384 [...] Ora inizio: 1411583991 Timeout: 300 (sec) Verifica codice di ritorno: 20 (impossibile ottenere localmente certificato emittente)
Ma se scarica il certificato di root GeoTrust e provalo con questo comando:
openssl s_client -connect mydomain.tld: 443 -CAfile GeoTrust_Global_CA.pem 2> & 1 </ dev / null
La verifica è ok:
[...] Sessione SSL: Protocollo: Cipher TLSv1.2: ECDHE-RSA-AES256-GCM-SHA384 [...] Ora inizio: 1411583262 Timeout: 300 (sec) Verifica codice di ritorno: 0 (ok)
Quindi in qualche modo il certificato radice GeoTrust non viene trovato / consegnato.
La mia configurazione del sito nginx:
server {
listen 443;
server_name mydomain.tld;
ssl on;
ssl_certificate /etc/ssl/certs/ssl.crt;
ssl_certificate_key /etc/ssl/private/ssl.key;
# Resumption
ssl_session_cache shared:SSL:20m;
# Timeout
ssl_session_timeout 10m;
# Security options
ssl_prefer_server_ciphers on;
ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
# OCSP Stapling
# It means that you sent status info about your certificate along with the request,
# instead of making the browser check the certificate with the Certificate Authority.
# This removes a large portion of the SSL overhead, the CloudFlare post above explains it in more detail.
ssl_stapling on;
ssl_stapling_verify on;
#ssl_trusted_certificate /etc/ssl/certs/ssl.pem;
#resolver 8.8.8.8 8.8.4.4 valid=300s;
#resolver_timeout 10s;
# This forces every request after this one to be over HTTPS
add_header Strict-Transport-Security "max-age=31536000";[...]};
RapidSSL ha scritto nella sua documentazione che avrei dovuto aggiungere i seguenti certificati in ssl.crt con il seguente ordine:
- myserver.crt
- Bundle CA intermedio (RapidSSL SHA256 CA - G3)
- Bundle CA intermedio (GeoTrust Global CA)
Così ho fatto...
In questo momento non ho idea di cosa sto facendo di sbagliato ... speriamo che qualcuno qui possa aiutarmi.
Grazie!