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
?