我在跟踪the following guide for installing Netdata on Laravel Forge。基本上,它打开用于Netdata的端口1999,并将其重定向到/netdata目录。
location = /netdata {
return 301 /netdata/;
}
location ~ /netdata/(?<ndpath>.*) {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_pass_request_headers on;
proxy_set_header Connection "keep-alive";
proxy_store off;
proxy_pass http://netdata/$ndpath$is_args$args;
gzip on;
gzip_proxied any;
gzip_types *;
}upstream netdata {
server 127.0.0.1:19999;
keepalive 64;
}我已经定义了一个auth中间件,如何才能只允许通过该auth中间件的人访问/netdata路由呢?该指南建议只限制一个IP地址,但这是不可能的,因为我移动了相当多。
发布于 2020-08-12 20:57:14
尽管我没有使用Laravel或Forge的经验,但根据这段documentation,您必须在您的中间件中定义该功能。本质上,您指示中间件仅在身份验证成功的情况下执行重定向。
也许您可以指示Laravel将所有连接(如果身份验证成功)重定向到NGINX端点(/netdata),您将配置为只允许来自localhost的连接。因此,用户将无法访问/netdata,除非他/她通过Laravel中间件进行身份验证,然后从该中间件重定向到Nginx服务器。
https://stackoverflow.com/questions/63376387
复制相似问题