rproxy v1.8.1: переход на Certbot certonly и принудительная очистка старых конфигов
This commit is contained in:
parent
97c9e5a2f5
commit
5ce99935eb
14
rproxy
14
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.0"
|
VERSION="1.8.1"
|
||||||
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"
|
||||||
|
|
@ -600,6 +600,9 @@ do_add_interactive() {
|
||||||
local tmp="/tmp/rproxy_$name.conf"
|
local tmp="/tmp/rproxy_$name.conf"
|
||||||
generate_nginx_conf "$name" "$t_host" "$t_port" "$tunnel_port" "$domain" "$ext_port" "$use_ndm_auth" "$path" "$tmp"
|
generate_nginx_conf "$name" "$t_host" "$t_port" "$tunnel_port" "$domain" "$ext_port" "$use_ndm_auth" "$path" "$tmp"
|
||||||
|
|
||||||
|
# Очистка старых конфигов (миграция на v1.8.0+)
|
||||||
|
ssh_cmd "rm -f $REMOTE_NGINX_DIR/rproxy_$name.conf"
|
||||||
|
|
||||||
# Деплой htpasswd если нужно
|
# Деплой htpasswd если нужно
|
||||||
if [ "$use_ndm_auth" = "yes" ]; then
|
if [ "$use_ndm_auth" = "yes" ]; then
|
||||||
local ht_tmp="/tmp/rproxy_$name.htpasswd"
|
local ht_tmp="/tmp/rproxy_$name.htpasswd"
|
||||||
|
|
@ -630,8 +633,9 @@ do_add_interactive() {
|
||||||
# SSL (теперь Certbot вызывается только если сертификата НЕТ)
|
# SSL (теперь Certbot вызывается только если сертификата НЕТ)
|
||||||
if [ "$use_ssl" = "yes" ]; then
|
if [ "$use_ssl" = "yes" ]; then
|
||||||
if ssh_cmd "[ ! -f /etc/letsencrypt/live/$domain/fullchain.pem ]"; then
|
if ssh_cmd "[ ! -f /etc/letsencrypt/live/$domain/fullchain.pem ]"; then
|
||||||
msg "SSL сертификат не найден. Запускаю Certbot..."
|
msg "SSL сертификат не найден. Запрашиваю через Certbot (certonly)..."
|
||||||
ssh_cmd "certbot --nginx -d $domain --non-interactive --agree-tos -m $CERTBOT_EMAIL" || warn "Certbot вернул ошибку"
|
# Используем certonly чтобы Certbot не ломал наши конфиги своими правками
|
||||||
|
ssh_cmd "certbot certonly --nginx -d $domain --non-interactive --agree-tos -m $CERTBOT_EMAIL" || warn "Certbot вернул ошибку"
|
||||||
# После Certbot пересобираем конфиг, чтобы он прописал SSL пути
|
# После Certbot пересобираем конфиг, чтобы он прописал SSL пути
|
||||||
rebuild_vhost_config "$domain" "$ext_port" "$vps_id"
|
rebuild_vhost_config "$domain" "$ext_port" "$vps_id"
|
||||||
else
|
else
|
||||||
|
|
@ -697,8 +701,8 @@ do_ssl_interactive() {
|
||||||
warn "Не удалось автоматически установить Certbot на VPS"
|
warn "Не удалось автоматически установить Certbot на VPS"
|
||||||
}
|
}
|
||||||
|
|
||||||
msg "Запрашиваю сертификат для $SVC_DOMAIN..."
|
msg "Запрашиваю сертификат для $SVC_DOMAIN (certonly)..."
|
||||||
if ssh_cmd "certbot --nginx -d $SVC_DOMAIN --non-interactive --agree-tos -m $CERTBOT_EMAIL"; then
|
if ssh_cmd "certbot certonly --nginx -d $SVC_DOMAIN --non-interactive --agree-tos -m $CERTBOT_EMAIL"; then
|
||||||
msg "SSL сертификат успешно получен!"
|
msg "SSL сертификат успешно получен!"
|
||||||
# Обновляем конфиг сервиса
|
# Обновляем конфиг сервиса
|
||||||
sed -i "s/SVC_SSL=.*/SVC_SSL=\"yes\"/" "$SERVICES_DIR/$name.conf"
|
sed -i "s/SVC_SSL=.*/SVC_SSL=\"yes\"/" "$SERVICES_DIR/$name.conf"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue