"SSL证书错误"的自定义nginx错误页面

use*_*912 5 ssl nginx client-certificates ssl-certificate

如果客户将选择过期的证书,则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>
Run Code Online (Sandbox Code Playgroud)

如何捕获错误并向客户端显示不同的页面?

小智 5

请参阅http://nginx.org/en/docs/http/ngx_http_ssl_module.html#errors

为代码400定义错误页面将不起作用.工作方法是

server {
    ...
    error_page 495 496 497 https://www.google.com;
    ...
}
Run Code Online (Sandbox Code Playgroud)

因此,未能提交有效证书的用户将重定向到google.com.当ssl_verify_client设置为on或时,这将起作用optional.


另一种方法仅在$ssl_verify_client设置为时optional可用,可$ssl_client_verify用于重定向.

if ($ssl_client_verify = NONE) { 
    return 303 https://www.google.com;
}
Run Code Online (Sandbox Code Playgroud)

$ssl_verify_client设置为on,它不会工作.


小智 5

有一种方法可以向客户显示不同的页面。您执行此操作的方式基本上与上述相同,但您将 google 网站更改为您创建的页面:

server {
    ...
    error_page 495 496 497 /error400.html;
    ...
}
Run Code Online (Sandbox Code Playgroud)

请确保在每个服务器实例中包含所有自定义页面。


归档时间:

查看次数:

3319 次

最近记录:

8 年,5 月 前