Рейтинг:0

Невозможно встроить панель инструментов Kibana на обратный прокси-сервер с помощью Nginx

флаг lk

Я пытаюсь встроить панель управления Kibana с помощью Nginx, но получаю пустой экран. Ошибки не выдаются (за исключением ожидаемой ошибки «встроенного сценария»), но ничего не загружается. Kibana развернута в облаке Azure, и у меня нет прав администратора, поэтому я не могу редактировать файл .yaml. Я пытаюсь встроить Kibana в свое приложение Angular, используя iframe. Вот мой файл конфигурации Nginx:

рабочие_процессы 1;

События {
    worker_connections 1024;
}

http {
    включить mime.types;
    default_type application/octet-stream;
    отправить файл включен;
    keepalive_timeout 65;

    сервер {
        слушать 80;
        имя_сервера локальный;

        место расположения / {
            корень html;
            индекс index.html index.htm;
        }

        расположение /API {
            proxy_pass http://localhost:8080/<client>/api;
            прокси_http_версия 1.1;
            proxy_set_header Обновить $http_upgrade;
            proxy_set_header Соединение «обновление»;
            proxy_set_header Хост $host;
            proxy_cache_bypass $http_upgrade;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
        }

        местоположение /кибана/ {
            add_header X-моя отладка $http_referer;
            proxy_pass https://<имя-компании>.azure.elastic-cloud.com:<порт>/;
            sub_filter_once выключен;
            sub_filter 'src="bootstrap.js' 'src="/kibana/bootstrap.js';
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Authorization '<auth-info>';
            proxy_set_header X-Found-Cluster cbca73a5db19409287b3e17ef1a3df82;
            proxy_set_header Хост $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $ схема;
            proxy_set_header Соединение "Keep-Alive";
            proxy_set_header Прокси-соединение "Keep-Alive";
            прокси_перенаправление выключено;
            add_header Content-Security-Policy "script-src 'self' <имя-компании>.azure.elastic-cloud.com:<port> 'unsafe-inline' 'unsafe-eval';" всегда;
        }

        расположение /bootstrap.js {
            proxy_pass https://<имя-компании>.azure.elastic-cloud.com:<порт>/bootstrap.js;
            add_header Content-Security-Policy "script-src 'self' https://<company-name>.azure.elastic-cloud.com:<port> 'unsafe-inline' 'unsafe-eval';" всегда;
        }

        местоположение /39457/ {
            proxy_pass https://<имя-компании>.azure.elastic-cloud.com:<порт>/39457/;
            add_header Content-Security-Policy "script-src 'self' https://<company-name>.azure.elastic-cloud.com:<port> 'unsafe-inline' 'unsafe-eval';" всегда;
        }

        местоположение /переводы/ {
            proxy_pass https://<имя-компании>.azure.elastic-cloud.com:<порт>/translations/;
        }

        расположение /node_modules/@kbn/ui-framework/dist/kui_light.css {
            proxy_pass https://<имя-компании>.azure.elastic-cloud.com:<порт>/node_modules/@kbn/ui-framework/dist/kui_light.css;
        }

        расположение /ui/legacy_light_theme.css {
            proxy_pass https://<имя-компании>.azure.elastic-cloud.com:<порт>/ui/legacy_light_theme.css;
        }
        
        расположение /API/ядро/возможности {
            proxy_pass https://<имя-компании>.azure.elastic-cloud.com:<порт>/api/core/capabilities;
        }

        местоположение /ui/шрифты/inter_ui/ {
            proxy_pass https://<имя-компании>.azure.elastic-cloud.com:<порт>/ui/fonts/inter_ui/;
        }
        
        расположение /внутреннее/ {
            proxy_set_header Authorization '<auth-info>';
            proxy_pass https://<имя-компании>.azure.elastic-cloud.com:<порт>/internal/;
        }

        расположение /API/лицензирование/информация {
            proxy_set_header Authorization '<auth-info>';
            proxy_pass https://<имя-компании>.azure.elastic-cloud.com:<порт>/api/licensing/info;
        }

        расположение /api/saved_objects_tagging/tags {
            proxy_set_header Authorization '<auth-info>';
            proxy_pass https://<имя-компании>.azure.elastic-cloud.com:<порт>/api/saved_objects_tagging/tags;
        }

        расположение/выход {
            proxy_set_header Authorization '<auth-info>';
            proxy_pass https://<имя-компании>.azure.elastic-cloud.com:<порт>/logout;
        }

        местоположение /api/ui_counters/_report {
            proxy_set_header Authorization '<auth-info>';
            proxy_pass https://<имя-компании>.azure.elastic-cloud.com:<port>/api/ui_counters/_report;
        }

        расположение /API/безопасность/выход {
            proxy_set_header Authorization '<auth-info>';
            proxy_pass https://<имя-компании>.azure.elastic-cloud.com:<порт>/api/security/logout;
        }

        # перенаправить страницы ошибок сервера на статическую страницу /50x.html
        error_page 500 502 503 504 /50x.html;
    }

}

и у меня также есть это в моем index.html:

<meta http-equiv="Content-Security-Policy" 
  content="
  script-src 'self' https://<company-name>.azure.elastic-cloud.com:<port> 'unsafe-inline' 'unsafe-eval';
  frame-src 'self'https://<company-name>.azure.elastic-cloud.com:<port> 'unsafe-inline';
  style-src 'self' https://<company-name>.azure.elastic-cloud.com:<port> 'unsafe-inline';"
  >
djdomi avatar
флаг za
вы взглянули на https://phoenixnap.com/kb/kibana-nginx-proxy, там есть отличный учебник, как

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.