You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.1 KiB
Bash

#!/bin/bash
conf_path="/etc/nginx/conf.d/$1.conf"
if [ -f "$conf_path" ]
then
conf_text=`cat $conf_path`
if [[ "$conf_text" == *"$2"* ]] || [[ "$conf_text" == *"localhost:$3"* ]]
then
echo "Proxy route or localhost port has been used, please manually reconfigure your Nginx configuration."
else
word="\n\n\tlocation \/$2\/ {\
\n\t\tproxy_pass http:\/\/localhost:$3\/;\
\n\t}"
match="# Insert here"
echo "$conf_text" | sed "s/$match/&$word/g" > "$conf_path"
fi
nginx -t
systemctl reload nginx
else
conf_text="server {
listen 420;
listen [::]:420;
server_name $1;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
# Insert here
location /$2/ {
proxy_pass http://localhost:$3/;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}"
echo "$conf_text" > "$conf_path"
chcon unconfined_u:object_r:httpd_config_t:s0 "$conf_path"
chown root:root "$conf_path"
nginx -t
systemctl reload nginx
fi