我正在尝试修复500个内部服务器错误的安全漏洞,公开文件的位置
我的问题类似于(https://cdn-images-1.medium.com/max/1600/1 * 2DAwIEJhgLQd82t5WTgydA.png)
我尝试过
proxy_intercept_errors;
和
error_page 500
重定向,但没有帮助。
对此有任何帮助吗?
答案 0 :(得分:1)
这是实现1 to 10
RegularExpressionValidator
注意:
<asp:RegularExpressionValidator ID="RegExp1" runat="server"
ErrorMessage="Password range (1 -10)"
ControlToValidate="Pass"
ValidationExpression="^[a-zA-Z0-9'@&#.\s]{1,10}$" />
这将拦截一些proxy_intercept_errors on;
错误和upstream foo {
server unix:/tmp/foo.sock;
keepalive 60;
}
server {
listen 8080 default_server;
server_name _;
location = /errors/5xx.html {
internal;
root /tmp;
}
location / {
proxy_pass http://foo;
proxy_http_version 1.1;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_intercept_errors on;
error_page 500 501 502 503 504 505 404 =200 /errors/5xx.html;
}
}
除外,并返回200
还要检查error_page 500 501 502 503 504 505 404 =200 /errors/5xx.html;
的位置,是否使用5xx
,因此您仍然需要创建文件404
:
/errors/5xx.html
您不一定需要一个文件来答复您的请求,也可以使用如下所示的内容:
root /tmp;
对于您而言,未找到的errors/5xx.html
文件可能具有不同的处理方式,例如:
$ mkdir /tmp/errors
$ echo "intercepting errors" > /tmp/errors/5xx.hml
在这种情况下,如果找不到以location = /errors/5xx.html {
internal;
default_type text/plain;
return 200 'Hello world!';
}
结尾的文件,它将尝试使用另一台服务器,那么如果需要,您仍然可以在其中侦听错误。