2015-11-06 21 views
5

お客様が期限切れの証明書を選択すると、nginxサーバーには組み込みのエラーページが表示されます。「SSL証明書エラー」のカスタムnginxエラーページ

<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> 

エラーをキャッチしてクライアントに別のページを表示するにはどうすればよいですか?

+0

http://nginx.org/ja/docs/http/ngx_http_ssl_module.html#errorsドキュメントを確認しましたか? –

+0

ありがとうございます。 コード400を処理しましたが、実際には他のエラーコードを処理する必要がありました。 – user3138912

答えて

4

は、コード400のエラーページが動作しません定義http://nginx.org/en/docs/http/ngx_http_ssl_module.html#errors

を参照してください。作業アプローチは

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

だから、ユーザーがgoogle.comにリダイレクトされます有効な証明書を提出することができなかったです。これは、 ssl_verify_clientonまたは optionalに設定されている場合に機能します。


別のアプローチは、$ssl_verify_clientoptionalに設定されている場合にのみ、あなたはリダイレクトするための$ssl_client_verifyを使用することができます動作します。 $ssl_verify_clientonに設定されている場合

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

、それは動作しません。

0

クライアントに別のページを表示する方法があります。あなたがこれを行う方法は、基本的には、上記で述べたが、代わりにあなたが作成したページに、Googleのウェブサイトを変更することと同じです。

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

ちょうどあなたが各サーバーインスタンスにカスタムページだすべてを含めるようにしてください。