Configuration 无法替换NGinx 495/496错误页

Configuration 无法替换NGinx 495/496错误页,configuration,nginx,Configuration,Nginx,我正在尝试更改在未发送证书时返回给客户端的站点。我的配置如下: server { error_log /tmp/error.log; listen 443; ssl on; server_name router.local; ssl_certificate /tmp/server.crt; ssl_certificate_key /tmp/server.key; ssl_client_certificate /tm

我正在尝试更改在未发送证书时返回给客户端的站点。我的配置如下:

    server {
error_log /tmp/error.log;
    listen        443;
    ssl on;
    server_name router.local;
    ssl_certificate      /tmp/server.crt;
    ssl_certificate_key  /tmp/server.key;
    ssl_client_certificate /tmp/ca.crt;
    ssl_trusted_certificate  /tmp/ca.crt;
    ssl_verify_client on;
    ssl_verify_depth 1;
        ssl_protocols  SSLv2 SSLv3 TLSv1;
        ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
        ssl_prefer_server_ciphers   on;
    location /error_serve {
     root   /sites/error;
     error_page 400 402 403 404 = /error_serve/5xx.html;
    }
    location / {

     proxy_buffer_size   128k;
     proxy_buffers   4 256k;
     proxy_busy_buffers_size   256k;
     proxy_pass  http://192.168.1.1/;
     proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
     error_page 400 500 502 503 504 = /error_serve/5xx.html;
     error_page 495 496 = /error_serve/cert_wrong.html;
    }
}

所有其他错误页都在工作,只有495和496返回标准页。

SSL握手发生在任何HTTP请求之前,因此当时没有已知的
位置。在这种情况下,nginx只是从第一个配置(即配置中的
location/error\u-serve
)获取配置。

因此我需要将location/error\u-serve移到位置之后/您能告诉我如何正确解决它吗?显示的文件不是error_serve中的文件,而是默认文件,正如您已经说过的,您可以交换位置。但在我看来,正确的解决方案是将
error\u page
指令放在服务器级别;ssl验证深度之后。现在我得到了404错误。你真的有
/sites/error/error\u serve/cert\u error.html