php - 我将如何保护 /netdata 或 Laravel 的 Netdata?
问题描述
我正在按照以下指南在 Laravel Forge 上安装 Netdata。基本上,它打开了用于 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 地址,但这是不可能的,因为我四处走动。
解决方案
尽管我没有使用 Laravel 或 Forge 的经验,但根据这篇文档,您必须在中间件中定义该功能。本质上,您指示中间件仅在身份验证成功的情况下执行重定向。
也许您可以指示 Laravel 将所有连接(如果 auth 成功)重定向到您将配置为仅允许 from 的 NGINX 端点(/netdata)localhost
。/netdata
因此,除非他/她通过 Laravel 中间件进行身份验证,然后从该中间件重定向到 Nginx 服务器,否则用户将无法访问。
推荐阅读
- types - 映射类型的 Solidity 大小
- google-cloud-bigtable - 从 Bigtable 导入表 - Google 云
- python - 从 settings.py 文件夹内的应用程序设置 AUTH_USER_MODEL
- excel - excel:查找每个组的最大日期的 total_log
- angularjs - 具有不同颜色AngularJs的clr-checkbox动态复选框集
- php - 我得到了似乎是一个无限循环的东西,无法弄清楚为什么 - PHP/WordPress
- cloudera - Cloudera Post 部署配置更新
- vue.js - Vuejs webpack 中 App.vue 与其他组件的关系
- aspnetboilerplate - 后台作业因“当前用户未登录应用程序”而失败
- python - 如何在python中的图像上设置水印文本