11#! /bin/bash
2- # info: add/remove HSTS support from a domain
3- # options: USER DOMAIN STATUS
2+ # info: Adding hsts to a domain
3+ # options: USER DOMAIN
44#
5- # This function will enable or disable HSTS (HTTP Strict Transport Security)
6- # for a web domain.
5+ # The function enables HSTS for the requested domain.
76
87
98# ----------------------------------------------------------#
1312# Argument definition
1413user=$1
1514domain=$2
16- domain_idn=$2
17- status=$3
1815
1916# Includes
2017source $HESTIA /func/main.sh
21- source $HESTIA /func/domain.sh
2218source $HESTIA /conf/hestia.conf
2319
20+
2421# ----------------------------------------------------------#
2522# Verifications #
2623# ----------------------------------------------------------#
@@ -32,6 +29,7 @@ is_object_unsuspended 'user' 'USER' "$user"
3229is_object_valid ' web' ' DOMAIN' " $domain "
3330is_object_unsuspended ' web' ' DOMAIN' " $domain "
3431
32+
3533# ----------------------------------------------------------#
3634# Action #
3735# ----------------------------------------------------------#
5250 hstsconf=" $HOMEDIR /$user /conf/web/$domain /$PROXY_SYSTEM .hsts.conf"
5351fi
5452
55- if [ " $status " = " on" ]; then
56- echo ' add_header Strict-Transport-Security "max-age=15768000;" always;' > $hstsconf
57- nginx -s reload
58- echo " HTTP Strict Transport Security (HSTS) turned on for $domain ."
59- elif [ " $status " = " off" ]; then
60- rm -f $hstsconf
61- nginx -s reload
62- echo " HTTP Strict Transport Security (HSTS) turned off for $domain ."
63- else
64- echo " Error: Invalid mode specified."
65- echo " Usage: v-change-web-domain-hsts USER DOMAIN [ON / OFF]"
66- fi
53+ echo ' add_header Strict-Transport-Security "max-age=15768000;" always;' > $hstsconf
54+ echo " HTTP Strict Transport Security (HSTS) turned on for $domain ."
55+
6756
6857# ----------------------------------------------------------#
6958# Hestia #
7362log_history " Turned HTTP Strict Transport Security $status for $domain ."
7463log_event " $OK " " $ARGUMENTS "
7564
65+ # Restart web server
66+ $BIN /v-restart-web
67+ check_result $? " Web restart failed" > /dev/null
68+
69+ # Restart proxy
70+ $BIN /v-restart-proxy
71+ check_result $? " Proxy restart failed" > /dev/null
72+
7673exit
0 commit comments