Add haproxy util to manage haproxy easier
This commit is contained in:
89
haproxy-util
Executable file
89
haproxy-util
Executable file
@@ -0,0 +1,89 @@
|
||||
#! /bin/bash
|
||||
|
||||
SUBDOMAIN=""
|
||||
DOMAIN=""
|
||||
PORT=""
|
||||
FILENAME="/etc/haproxy/haproxy.cfg"
|
||||
|
||||
usage(){
|
||||
cat << EOF
|
||||
usage: update-ipv6 [OPTIONS] -s subdomain [-d domain_name] -p port
|
||||
|
||||
Description
|
||||
|
||||
haproxy-util allows to add and modify redirection rules on haproxy
|
||||
Options:
|
||||
TBD
|
||||
EOF
|
||||
exit 1
|
||||
|
||||
}
|
||||
|
||||
if [[ $# -lt 4 ]] ;
|
||||
then
|
||||
usage
|
||||
fi
|
||||
|
||||
while [[ ! -z "$1" ]]; do
|
||||
case $1 in
|
||||
-s)
|
||||
SUBDOMAIN=$2
|
||||
shift 2;;
|
||||
-d)
|
||||
DOMAIN=$2
|
||||
shift 2;;
|
||||
-p)
|
||||
PORT=$2
|
||||
shift 2;;
|
||||
*)
|
||||
echo $option
|
||||
usage;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ -z "$SUBDOMAIN" ]] ;
|
||||
then
|
||||
usage
|
||||
fi
|
||||
|
||||
#if [[ -z "$DOMAIN" ]] ;
|
||||
#then
|
||||
#usage
|
||||
#fi
|
||||
|
||||
if [[ -z "$PORT" ]] ;
|
||||
then
|
||||
usage
|
||||
fi
|
||||
|
||||
if [[ -n $(grep " $SUBDOMAIN" $FILENAME) ]] ;
|
||||
then
|
||||
echo "ERROR: Subdomain already on use"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -n $(grep "$PORT" $FILENAME) ]] ;
|
||||
then
|
||||
echo "Error: Port already on use"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
servername=$SUBDOMAIN"_server"
|
||||
sudo sed -i "s/#ACL Definition/#ACL Definition\n\tacl host_$SUBDOMAIN hdr_beg(host) -i $SUBDOMAIN/" $FILENAME
|
||||
sudo sed -i "s/#USE_BACKEND Definition/#USE_BACKEND Definition\n\tuse_backend $SUBDOMAIN if host_$SUBDOMAIN/" $FILENAME
|
||||
sudo sed -i "s/#BACKEND Definition/#BACKEND Definition\nbackend $SUBDOMAIN\n\toption forwardfor\n\tserver $servername localhost:$PORT/" $FILENAME
|
||||
sudo systemctl restart haproxy
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ACL Definition
|
||||
#USE_BACKEND Definition
|
||||
|
||||
|
||||
|
||||
|
||||
#BACKED Definition
|
||||
Reference in New Issue
Block a user