Как мне защитить / netdata или Netdata для Laravel?

#php #laravel #networkin& #netdata

#php #laravel #сеть #netdata

Вопрос:

Я следую следующему руководству по установке Netdata в Laravel For&e. По сути, это открытие порта 1999, используемого для Netdata, и перенаправление его в /netdata каталог.

 location = /netdata {
  return 301 /netdata/;
}

location ~ /netdata/(?<ndpath&&t;.*) {
  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_ar&s$ar&s;

  &zip on;
  &zip_proxied any;
  &zip_types *;
}
  
 upstream netdata {
  server 127.0.0.1:19999;
  keepalive 64;
}
  

У меня уже определено auth промежуточное программное обеспечение, и как я могу разрешить посещать auth маршрут только тем пользователям, которые передают /netdata промежуточное программное обеспечение? В руководстве предлагается ограничить его только одним IP-адресом, но это невозможно, поскольку я довольно часто перемещаюсь.

Ответ №1:

Хотя у меня нет опыта работы с Laravel или For&e, согласно этой части документации, вы должны определить эту функциональность в своем промежуточном программном обеспечении. По сути, вы инструктируете промежуточное программное обеспечение выполнять перенаправление только в случае успешной аутентификации.

Возможно, вы могли бы поручить Laravel перенаправлять все соединения (в случае успешной аутентификации) на конечную точку NGINX (/ netdata), которую вы настроите так, чтобы разрешать только из localhost . Таким образом, пользователь не сможет получить доступ /netdata , если он / она не пройдет аутентификацию через промежуточное программное обеспечение Laravel, а затем не будет перенаправлен с этого промежуточного программного обеспечения на сервер N&inx.