Я настроил NGINX версии 1.18.0 в качестве обратного прокси-сервера для своей установки Apache Superset 1.4.0.
Я пытаюсь зафиксировать некоторые шаблоны URL, и переписать их, добавив автономный = 1
в конце.
Следующая конфигурация NGINX работает должным образом:
расположение /надмножество/исследовать/ {
если ($args ~* "(.*?)slice_id%22%3A133(.*)$") {
переписать ^/superset/explore/(.*)$ /superset/explore/$1?standalone=1 break;
}
прокси_пароль http://127.0.0.1:8087;
proxy_set_header Хост $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $ схема;
}
Потому что, когда я посещаю (с Chrome) такой URL-адрес, как http://192.168.239.40:8088/superset/explore/?form_data=%7B%22viz_type%22%3A%22echarts_timeseries_line%22%2C%22datasource%22%3A%2233__table%22%2C%22slice_id%22%3A133% 2С...
, я вижу, что он заменен оригинальным плюсом &автономный=1
добавляется к URL-адресу, когда я проверяю адресную строку Chrome.
Но когда я пытаюсь сделать что-то подобное для другого шаблона URL для Apache Superset, например, следующего:
расположение /панель управления/список/ {
переписать ^/dashboard/list/(.*)$ /dashboard/list/$1?standalone=1 break;
прокси_пароль http://127.0.0.1:8087;
proxy_set_header Хост $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $ схема;
}
и я прошу http://192.168.239.40:8088/приборная панель/список/
в Chrome я вижу, что адресная строка заменена на http://192.168.239.40:8088/dashboard/list/?pageIndex=0&sortColumn=changed_on_delta_humanized&sortOrder=desc&viewMode=table
но я не вижу никаких &автономный=1
добавлено.
Я также проверил журналы Superset, чтобы узнать, что он обслуживает после того, как я запросил http://192.168.239.40:8088/приборная панель/список/
и я вижу это ?автономный=1
на самом деле добавлен!
10 февраля 14:09:19 панель инструментов-сервер python[34169]: 2022-02-10 14:09:19,482:INFO:werkzeug:127.0.0.1 - - [10/февраль/2022 14:09:19] "GET / панель инструментов/список/?standalone=1 HTTP/1.0" 200 -
10 февраля 14:09:20 панель инструментов-сервер python[34169]: 2022-02-10 14:09:20,729:INFO:werkzeug:127.0.0.1 - - [10/февраль/2022 14:09:20] "GET / API/v1/dashboard/_info?q=(ключи:!(разрешения)) HTTP/1.0" 200 -
10 февраля 14:09:20 панель инструментов-сервер python[34169]: 2022-02-10 14:09:20,771:INFO:werkzeug:127.0.0.1 - - [10/февраль/2022 14:09:20] "GET / api/v1/dashboard/?q=(order_column:changed_on_delta_humanized,order_direction:desc,page:0,page_size:25) HTTP/1.0" 200 -
Есть идеи, почему это происходит?
Полный /etc/nginx/conf.d/superset.conf
составляет:
сервер {
слушать 8088;
имя_сервера 192.168.239.40;
место расположения / {
прокси_пароль http://127.0.0.1:8087;
}
расположение /надмножество/исследовать/ {
если ($args ~* "(.*?)slice_id%22%3A133(.*)$") {
переписать ^/superset/explore/(.*)$ /superset/explore/$1?standalone=1 break;
}
прокси_пароль http://127.0.0.1:8087;
proxy_set_header Хост $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $ схема;
}
расположение /панель управления/список/ {
переписать ^/dashboard/list/(.*)$ /dashboard/list/$1?standalone=1 break;
прокси_пароль http://127.0.0.1:8087;
proxy_set_header Хост $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $ схема;
}
# требуется, так как надмножество имеет жестко заданные URL-адреса базового пути
местоположение /статическое/ {
proxy_pass http://127.0.0.1:8087/static/;
}
# для предоставления определенной панели инструментов с использованием пользовательского URL-адреса
# приведенный ниже пример сделает панель инструментов 2 доступной в автономном режиме
# на $host/dashboards/my-dashboard
расположение /панели инструментов/моя панель {
proxy_pass http://127.0.0.1:8087/superset/dashboard/2/?standalone=true;
}
}