Просмотр исходного кода

Update backend scripts for proper HSTS support

Kristan Kenney 6 лет назад
Родитель
Сommit
64892c301d
3 измененных файлов с 17 добавлено и 4 удалено
  1. 7 0
      bin/v-add-web-domain-ssl-hsts
  2. 3 1
      bin/v-delete-web-domain-ssl-hsts
  3. 7 3
      bin/v-list-web-domain

+ 7 - 0
bin/v-add-web-domain-ssl-hsts

@@ -58,6 +58,13 @@ echo "HTTP Strict Transport Security (HSTS) turned on for $domain."
 #                       Hestia                             #
 #----------------------------------------------------------#
 
+if [ -z "$SSL_HSTS" ]; then
+    add_object_key "web" 'DOMAIN' "$domain" 'SSL_HSTS' 'SSL_FORCE'
+fi
+
+# Set forcessl flag to enabled
+update_object_value 'web' 'DOMAIN' "$domain" '$SSL_HSTS' 'yes'
+
 # Logging
 log_history "Turned HTTP Strict Transport Security $status for $domain."
 log_event "$OK" "$ARGUMENTS"

+ 3 - 1
bin/v-delete-web-domain-ssl-hsts

@@ -47,11 +47,13 @@ fi
 rm -f $hstsconf
 echo "HTTP Strict Transport Security (HSTS) turned off for $domain."
 
-
 #----------------------------------------------------------#
 #                       Hestia                             #
 #----------------------------------------------------------#
 
+# Set forcessl flag to enabled
+update_object_value 'web' 'DOMAIN' "$domain" '$SSL_HSTS' 'no'
+
 # Restart services if requested
 if [ ! -z "$restart" ]; then
     $BIN/v-restart-web

+ 7 - 3
bin/v-list-web-domain

@@ -31,6 +31,7 @@ json_list() {
         "STATS_USER": "'$STATS_USER'",
         "SSL": "'$SSL'",
         "SSL_FORCE": "'$SSL_FORCE'",
+        "SSL_HSTS": "'$SSL_HSTS'",
         "SSL_HOME": "'$SSL_HOME'",
         "LETSENCRYPT": "'$LETSENCRYPT'",
         "FTP_USER": "'$FTP_USER'",
@@ -64,6 +65,9 @@ shell_list() {
         if [ ! -z "$SSL_FORCE" ]; then
          echo "SSL_FORCE:       $SSL_FORCE"
         fi
+        if [ ! -z "$SSL_HSTS" ]; then
+         echo "SSL_HSTS:       $SSL_HSTS"
+        fi
     fi
     echo "TEMPLATE:       $TPL"
     if [ ! -z "$WEB_BACKEND" ]; then
@@ -92,7 +96,7 @@ shell_list() {
 # PLAIN list function
 plain_list() {
     echo -ne "$DOMAIN\t$IP\t$IP6\t$U_DISK\t$U_BANDWIDTH\t$TPL\t"
-    echo -ne "$ALIAS\t$STATS\t$STATS_USER\t$SSL\t$SSL_FORCE\t$SSL_HOME\t,$LETSENCRYPT"
+    echo -ne "$ALIAS\t$STATS\t$STATS_USER\t$SSL\t$SSL_FORCE\t$SSL_HSTS\t$SSL_HOME\t,$LETSENCRYPT"
     echo -ne "$FTP_USER\t$FTP_PATH\t$AUTH_USER\t$BACKEND\t$PROXY\t"
     echo -e "$PROXY_EXT\t$SUSPENDED\t$TIME\t$DATE"
 }
@@ -100,10 +104,10 @@ plain_list() {
 # CSV list function
 csv_list() {
     echo -n "DOMAIN,IP,IP6,U_DISK,U_BANDWIDTH,TPL,ALIAS,STATS,STATS_USER,SSL,"
-    echo -n "SSL_FORCE,SSL_HOME,LETSENCRYPT,FTP_USER,FTP_PATH,AUTH_USER,BACKEND,PROXY,PROXY_EXT,"
+    echo -n "SSL_FORCE,SSL_HSTS,SSL_HOME,LETSENCRYPT,FTP_USER,FTP_PATH,AUTH_USER,BACKEND,PROXY,PROXY_EXT,"
     echo "SUSPENDED,TIME,DATE"
     echo -n "$DOMAIN,$IP,$IP6,$U_DISK,$U_BANDWIDTH,$TPL,\"$ALIAS\",$STATS"
-    echo -n "\"$STATS_USER\",$SSL,$SSL_FORCE,$SSL_HOME,$LETSENCRYPT,\"$FTP_USER\",\"$FTP_PATH\","
+    echo -n "\"$STATS_USER\",$SSL,$SSL_FORCE,$SSL_HSTS,$SSL_HOME,$LETSENCRYPT,\"$FTP_USER\",\"$FTP_PATH\","
     echo -n "\"$AUTH_USER\",$BACKEND,$PROXY,\"$PROXY_EXT\",$SUSPENDED,$TIME,"
     echo  "$DATE"
 }