diff --git a/plugins/site b/plugins/site index f743ea0..530a4eb 100644 --- a/plugins/site +++ b/plugins/site @@ -142,7 +142,26 @@ elif [ "$type" == "-parked" ]; then echo " Parked domain was successfully configured! " echo "${end}" - +# Reverse proxy +elif [[ "$type" == "-proxy"* ]]; then + createsite + sudo sed -i '/include /d' /etc/nginx/sites-available/$domain + sudo sed -i '/root /d' /etc/nginx/sites-available/$domain + sudo sed -i '/index /d' /etc/nginx/sites-available/$domain + sudo sed -i '/error_log /r /opt/webinoly/templates/template-site-proxy' /etc/nginx/sites-available/$domain + + rparg=$(echo "${type}" | cut -d'=' -f 2 -s) + rphost=$(echo "${rparg}" | cut -d':' -f 1 -s) + rpport=$(echo "${rparg}" | cut -d':' -f 2 -s) + + if [[ -n $rphost ]]; then + sudo sed -i "s/localhost/$rphost/g" /etc/nginx/sites-available/$domain + fi + if [[ -n $rpport ]]; then + sudo sed -i "s/8080/$rpport/g" /etc/nginx/sites-available/$domain + fi + + # Site disabled elif [[ "$type" == "-off" && ! -L /etc/nginx/sites-enabled/$domain ]]; then echo "${red}Site $domain doesn't exist or is already disabled!${end}" @@ -184,8 +203,8 @@ elif [[ "$type" == "-ssl-off" && -a /etc/nginx/sites-available/$domain ]]; then else echo "${red}SSL is already disabled for site $domain!${end}" fi - - + + # FastCGI Cache disabled elif [[ "$type" == "-nocache" && -a /etc/nginx/sites-available/$domain ]]; then isfc=$( grep -F "wpfc.conf" /etc/nginx/sites-available/$domain ) diff --git a/templates/template-site-proxy b/templates/template-site-proxy new file mode 100644 index 0000000..dae0145 --- /dev/null +++ b/templates/template-site-proxy @@ -0,0 +1,18 @@ + + location / { + proxy_set_header Host $host; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Server $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + + proxy_redirect http://localhost:8080/ /; + proxy_redirect ws://localhost:8080/api/socket /api/socket; + proxy_pass http://localhost:8080/; + + proxy_connect_timeout 300; + proxy_send_timeout 300; + proxy_read_timeout 300; + }