2015-11-06 13 views
5

Se il cliente sceglie il certificato scaduto, il server nginx mostrerà la pagina di errore incorporata.Pagina di errore di nginx personalizzato per "Errore del certificato SSL"

<html> 
<head><title>400 The SSL certificate error</title></head> 
<body bgcolor="white"> 
<center><h1>400 Bad Request</h1></center> 
<center>The SSL certificate error</center> 
<hr><center>nginx</center> 
</body> 
</html> 

Come posso rilevare l'errore e mostrare al cliente una pagina diversa?

+0

Hai controllato i documenti http://nginx.org/en/docs/http/ngx_http_ssl_module.html#errors? –

+0

Grazie. Ho elaborato il codice 400 e in effetti è stato necessario gestire altri codici di errore. – user3138912

risposta

4

prega di fare riferimento al http://nginx.org/en/docs/http/ngx_http_ssl_module.html#errors

Definire una pagina di errore per il codice 400 non funzionerà. L'approccio di lavoro è

server { 
    ... 
    error_page 495 496 497 https://www.google.com; 
    ... 
} 

Così un utente non è riuscito a inviare un certificato valido verrà reindirizzato a google.com. Funzionerà quando ssl_verify_client è impostato su on o optional.


Un altro approccio funziona solo quando $ssl_verify_client è impostato su optional, si potrebbe usare $ssl_client_verify per il reindirizzamento.

if ($ssl_client_verify = NONE) { 
    return 303 https://www.google.com; 
} 

Quando $ssl_verify_client è impostato su on, non funzionerà.

0

C'è un modo per mostrare al cliente una pagina diversa. Il modo di fare questo è fondamentalmente lo stesso come si è detto, ma invece si cambia il sito web di Google ad una pagina che si è creato:

server { 
    ... 
    error_page 495 496 497 /error400.html; 
    ... 
} 

Basta essere sicuri di includere tutte le sei pagine personalizzate in ogni istanza del server.

Problemi correlati