rproxy v1.8.2: фикс дубликата listen 443 и улучшение обработки путей
This commit is contained in:
parent
5ce99935eb
commit
519d7aea5e
18
rproxy
18
rproxy
|
|
@ -3,7 +3,7 @@
|
||||||
# Публикация локальных сервисов через SSH-туннели + nginx на VPS
|
# Публикация локальных сервисов через SSH-туннели + nginx на VPS
|
||||||
# https://github.com/l-ptrol/rProxy
|
# https://github.com/l-ptrol/rProxy
|
||||||
|
|
||||||
VERSION="1.8.1"
|
VERSION="1.8.2"
|
||||||
export PATH="/opt/bin:/opt/sbin:$PATH"
|
export PATH="/opt/bin:/opt/sbin:$PATH"
|
||||||
CONF_DIR="/opt/etc/rproxy"
|
CONF_DIR="/opt/etc/rproxy"
|
||||||
CONF_FILE="$CONF_DIR/rproxy.conf"
|
CONF_FILE="$CONF_DIR/rproxy.conf"
|
||||||
|
|
@ -1208,6 +1208,12 @@ generate_nginx_conf() {
|
||||||
# Гарантируем, что путь начинается с /
|
# Гарантируем, что путь начинается с /
|
||||||
[ "${path#/}" = "$path" ] && path="/$path"
|
[ "${path#/}" = "$path" ] && path="/$path"
|
||||||
|
|
||||||
|
# Регулируем путь для корректного маппинга в proxy_pass
|
||||||
|
# Если локация /myapp, то proxy_pass http://.../ перенаправит /myapp/foo -> /foo
|
||||||
|
local location_path="$path"
|
||||||
|
# Для корня оставляем как есть, для подпутей добавляем опциональный слеш
|
||||||
|
[ "$path" != "/" ] && location_path="$path/"
|
||||||
|
|
||||||
local stealth_host="$t_host"
|
local stealth_host="$t_host"
|
||||||
[ "$t_port" != "80" ] && stealth_host="$t_host:$t_port"
|
[ "$t_port" != "80" ] && stealth_host="$t_host:$t_port"
|
||||||
|
|
||||||
|
|
@ -1222,7 +1228,7 @@ generate_nginx_conf() {
|
||||||
# Теперь эта функция генерирует ТОЛЬКО блок location
|
# Теперь эта функция генерирует ТОЛЬКО блок location
|
||||||
# Основной конфиг сервера будет собираться отдельно
|
# Основной конфиг сервера будет собираться отдельно
|
||||||
cat > "$target_file" << NGINXEOF
|
cat > "$target_file" << NGINXEOF
|
||||||
location $path {
|
location $location_path {
|
||||||
$auth_config
|
$auth_config
|
||||||
proxy_pass http://127.0.0.1:$tunnel_port/;
|
proxy_pass http://127.0.0.1:$tunnel_port/;
|
||||||
proxy_http_version 1.1;
|
proxy_http_version 1.1;
|
||||||
|
|
@ -1265,7 +1271,13 @@ rebuild_vhost_config() {
|
||||||
# Конфиг для домена
|
# Конфиг для домена
|
||||||
cat > "$tmp_vhost" << EOF
|
cat > "$tmp_vhost" << EOF
|
||||||
server {
|
server {
|
||||||
listen $ext_port;
|
EOF
|
||||||
|
# Не выводим обычный listen 443, если сейчас будет выведен listen 443 ssl
|
||||||
|
if [ "$ext_port" != "443" ] || [ "$has_ssl" -eq 0 ]; then
|
||||||
|
echo " listen $ext_port;" >> "$tmp_vhost"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat >> "$tmp_vhost" << EOF
|
||||||
server_name "$domain";
|
server_name "$domain";
|
||||||
proxy_buffering off;
|
proxy_buffering off;
|
||||||
proxy_request_buffering off;
|
proxy_request_buffering off;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue