我们在Nginx中对于不存在的HTTP协议页面可以通过404状态码进行返回,表示页面不存在。但是这种方法对于HTTPS或SSL的页面就会有问题,因为在404页面返回之前服务器可能已发送了一个错误的SSL证书,导致浏览器显示页面不安全的警告。
解决这个问题的办法就是将404替换为444,该代码并不是一个常规的HTTP Status Code,而是Nginx内部定义的状态码,当Ngnix收到返回这个状态码时它会断开连接而不是返回页面,这时浏览器会显示This page isn’t working right now ERR_EMPTY_RESPONSE错误,这很好的解决了返回错误证书的问题。
server
{
listen 443 ssl default_server;
server_name aaa-default;
index index.html index.htm ;
access_log /var/log/nginx/aaa-default.access.https.log;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
return 444;
}

本文介绍如何使用Nginx处理HTTPS页面不存在的情况,通过返回444状态码来避免发送错误的SSL证书,从而防止浏览器显示页面不安全警告。此方法适用于HTTPS或SSL页面。



4542

被折叠的 条评论
为什么被折叠?



