rproxy v1.8.6: экспериментальный sub_filter для коррекции путей в подпутях
This commit is contained in:
parent
0b99a95dad
commit
c49f9ad7e0
23
rproxy
23
rproxy
|
|
@ -3,7 +3,7 @@
|
|||
# Публикация локальных сервисов через SSH-туннели + nginx на VPS
|
||||
# https://github.com/l-ptrol/rProxy
|
||||
|
||||
VERSION="1.8.4"
|
||||
VERSION="1.8.6"
|
||||
export PATH="/opt/bin:/opt/sbin:$PATH"
|
||||
CONF_DIR="/opt/etc/rproxy"
|
||||
CONF_FILE="$CONF_DIR/rproxy.conf"
|
||||
|
|
@ -497,6 +497,11 @@ do_add_interactive() {
|
|||
path="${REPLY:-/}"
|
||||
[ "${path#/}" = "$path" ] && path="/$path"
|
||||
|
||||
if [ "$path" != "/" ]; then
|
||||
printf " ${YELLOW}ℹ СОВЕТ: Сложные интерфейсы (как у роутеров) могут плохо работать в подпутях.${NC}\n"
|
||||
printf " ${YELLOW} Для стабильного UI лучше использовать поддомен (напр. app.domain.com) с путем /${NC}\n"
|
||||
fi
|
||||
|
||||
if [ "$use_ssl" = "yes" ] && [ -z "$CERTBOT_EMAIL" ]; then
|
||||
prompt "Введите Email для Certbot: "
|
||||
CERTBOT_EMAIL="$REPLY"
|
||||
|
|
@ -522,6 +527,11 @@ do_add_interactive() {
|
|||
[ "${path#/}" = "$path" ] && path="/$path"
|
||||
fi
|
||||
|
||||
if [ "$path" != "/" ]; then
|
||||
printf " ${YELLOW}ℹ СОВЕТ: Сложные интерфейсы (как у роутеров) могут плохо работать в подпутях.${NC}\n"
|
||||
printf " ${YELLOW} Для стабильного UI лучше использовать поддомен (напр. app.domain.com) с путем /${NC}\n"
|
||||
fi
|
||||
|
||||
# Если VPS не определен автоматически — выбираем вручную
|
||||
if [ -z "$vps_id" ]; then
|
||||
select_vps_interactive
|
||||
|
|
@ -1246,6 +1256,17 @@ generate_nginx_conf() {
|
|||
proxy_cookie_path / "$path";
|
||||
# Редиректы: если приложение шлет Location: /login, Nginx заменит на Location: $path/login
|
||||
proxy_redirect / "$path";
|
||||
|
||||
# Экспериментальная замена ссылок в HTML/JS для работы в подпутях (v1.8.6)
|
||||
if [ "$path" != "/" ]; then
|
||||
# Убираем сжатие от бэкенда, чтобы Nginx мог видеть текст
|
||||
proxy_set_header Accept-Encoding "";
|
||||
sub_filter_once off;
|
||||
sub_filter_types text/html text/css application/javascript application/json;
|
||||
# Заменяем ссылки начинающиеся с / на /путь/
|
||||
sub_filter '="/' '="$path/';
|
||||
sub_filter '=\"/' '=\"$path/';
|
||||
fi
|
||||
}
|
||||
NGINXEOF
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue