Implementing proxy pathes in nginx config generate
This commit is contained in:
		| @@ -21,9 +21,11 @@ REDIRECT_HTTP=$(jq -r .REDIRECT_HTTP $DOMAIN_SOURCE) | |||||||
| REDIRECT_HTTPS=$(jq -r .REDIRECT_HTTPS $DOMAIN_SOURCE) | REDIRECT_HTTPS=$(jq -r .REDIRECT_HTTPS $DOMAIN_SOURCE) | ||||||
| ERROR_PAGE=$(jq -r .ERROR_PAGE $DOMAIN_SOURCE) | ERROR_PAGE=$(jq -r .ERROR_PAGE $DOMAIN_SOURCE) | ||||||
| MAX_BODY_SIZE=$(jq -r .MAX_BODY_SIZE $DOMAIN_SOURCE) | MAX_BODY_SIZE=$(jq -r .MAX_BODY_SIZE $DOMAIN_SOURCE) | ||||||
|  | ALTERNATE_LOCATION_PATH=$(jq -r .ALTERNATE_LOCATION_PATH $DOMAIN_SOURCE) | ||||||
| # check whether certificates exist or not | # check whether certificates exist or not | ||||||
|  |  | ||||||
| if [[ $HTTPS_PORT != "" ]]; then |  | ||||||
|  | if [[ "$HTTPS_PORT" != "" ]]; then | ||||||
| 	/scripts/check_certificates.sh "$DOMAIN"; | 	/scripts/check_certificates.sh "$DOMAIN"; | ||||||
| fi | fi | ||||||
|  |  | ||||||
| @@ -35,16 +37,16 @@ file="/tmp/$DOMAIN.conf" | |||||||
|  |  | ||||||
| { | { | ||||||
|  |  | ||||||
| if [[ $HTTP_PORT != "" ]]; then | if [[ "$HTTP_PORT" != "" ]]; then | ||||||
| 	echo "server { | 	echo "server { | ||||||
| listen $HTTP_PORT;" | listen $HTTP_PORT;" | ||||||
| if [[ $ALIASES_HTTP != "" ]]; then | if [[ "$ALIASES_HTTP" != "" ]]; then | ||||||
| 	echo "server_name $DOMAIN_NAME $ALIASES_HTTP;" | 	echo "server_name $DOMAIN_NAME $ALIASES_HTTP;" | ||||||
| else | else | ||||||
| 	echo "server_name $DOMAIN_NAME;" | 	echo "server_name $DOMAIN_NAME;" | ||||||
| fi  | fi  | ||||||
|  |  | ||||||
| if [[ $MAX_BODY_SIZE != "" ]]; then | if [[ "$MAX_BODY_SIZE" != "" ]]; then | ||||||
| 	echo "client_max_body_size "$MAX_BODY_SIZE";" | 	echo "client_max_body_size "$MAX_BODY_SIZE";" | ||||||
| else | else | ||||||
| 	echo "client_max_body_size 16M" | 	echo "client_max_body_size 16M" | ||||||
| @@ -52,14 +54,14 @@ fi | |||||||
| echo "rewrite_log on;" | echo "rewrite_log on;" | ||||||
|  |  | ||||||
|  |  | ||||||
| 	if [[ $REDIRECT_HTTP != "" && $HTTP_PORT != "" ]]; then | 	if [[ "$REDIRECT_HTTP" != "" && "$HTTP_PORT" != "" ]]; then | ||||||
| 		echo "return 301 $REDIRECT_HTTP;" | 		echo "return 301 $REDIRECT_HTTP;" | ||||||
|  |  | ||||||
|  |  | ||||||
| 	else | 	else | ||||||
| 		echo "location / {" | 		echo "location / {" | ||||||
| 	 | 	 | ||||||
| 		if [[ $HTTP_PORT != "" ]]; then | 		if [[ "$HTTP_PORT" != "" ]]; then | ||||||
|  			echo "proxy_pass http://$LOCAL_IP:$HTTP_PORT;" |  			echo "proxy_pass http://$LOCAL_IP:$HTTP_PORT;" | ||||||
| 		else | 		else | ||||||
|  			echo "proxy_pass http://$LOCAL_IP:80;" |  			echo "proxy_pass http://$LOCAL_IP:80;" | ||||||
| @@ -73,7 +75,7 @@ echo "rewrite_log on;" | |||||||
| 		 proxy_cookie_path / /; | 		 proxy_cookie_path / /; | ||||||
| 		 access_log off;" | 		 access_log off;" | ||||||
| 			 | 			 | ||||||
| 			if [[ $ERROR_PAGE != "" && $HTTP_PORT != "" ]]; then | 			if [[ "$ERROR_PAGE" != "" && "$HTTP_PORT" != "" ]]; then | ||||||
| 				echo "error_page 404 /$ERROR_PAGE; | 				echo "error_page 404 /$ERROR_PAGE; | ||||||
| 				location = /$ERROR_PAGE { | 				location = /$ERROR_PAGE { | ||||||
| 				      root    html; | 				      root    html; | ||||||
| @@ -87,17 +89,17 @@ echo "rewrite_log on;" | |||||||
| echo "}" | echo "}" | ||||||
| fi | fi | ||||||
|  |  | ||||||
| if [[ $HTTPS_PORT != "" ]]; then | if [[ "$HTTPS_PORT" != "" ]]; then | ||||||
| 	echo "server { | 	echo "server { | ||||||
| listen $HTTPS_PORT ssl;" | listen $HTTPS_PORT ssl;" | ||||||
|  |  | ||||||
| if [[ $ALIASES_HTTPS != "" ]]; then | if [[ "$ALIASES_HTTPS" != "" ]]; then | ||||||
| 	echo "server_name $DOMAIN_NAME $ALIASES_HTTPS;" | 	echo "server_name $DOMAIN_NAME $ALIASES_HTTPS;" | ||||||
| else | else | ||||||
| 	echo "server_name $DOMAIN_NAME;" | 	echo "server_name $DOMAIN_NAME;" | ||||||
| fi  | fi  | ||||||
|  |  | ||||||
| if [[ $MAX_BODY_SIZE != "" ]]; then | if [[ "$MAX_BODY_SIZE" != "" ]]; then | ||||||
| 	echo "client_max_body_size "$MAX_BODY_SIZE";" | 	echo "client_max_body_size "$MAX_BODY_SIZE";" | ||||||
| else | else | ||||||
| 	echo "client_max_body_size 16M" | 	echo "client_max_body_size 16M" | ||||||
| @@ -116,7 +118,7 @@ ssl_session_timeout 5m; | |||||||
| ssl_stapling on;" | ssl_stapling on;" | ||||||
|  |  | ||||||
|  |  | ||||||
| 	if [[ $ERROR_PAGE != "" && $HTTPS_PORT != "" ]]; then | 	if [[ "$ERROR_PAGE" != "" && "$HTTPS_PORT" != "" ]]; then | ||||||
| 		echo "error_page 404 /$ERROR_PAGE; | 		echo "error_page 404 /$ERROR_PAGE; | ||||||
| location = /$ERROR_PAGE { | location = /$ERROR_PAGE { | ||||||
|       root    html; |       root    html; | ||||||
| @@ -126,25 +128,69 @@ location = /$ERROR_PAGE { | |||||||
| 	      }" | 	      }" | ||||||
| 	fi | 	fi | ||||||
|  |  | ||||||
| 	if [[ $REDIRECT_HTTPS != ""  ]]; then | 	if [[ "$REDIRECT_HTTPS" != ""  ]]; then | ||||||
| 		echo "return 301 $REDIRECT_HTTPS;" | 		echo "return 301 $REDIRECT_HTTPS;" | ||||||
| 	else  | 	else  | ||||||
| 		echo "location / {" | 		echo "location / {" | ||||||
|  |  | ||||||
| 			if [[ $HTTP_PORT != "" ]]; then | 			if [[ "$HTTP_PORT" != "" ]]; then | ||||||
| 				echo "proxy_pass http://$LOCAL_IP:$HTTP_PORT;" | 				echo " proxy_pass http://$LOCAL_IP:$HTTP_PORT;" | ||||||
| 			else | 			else | ||||||
| 				echo "proxy_pass http://$LOCAL_IP:80;" | 				echo " proxy_pass http://$LOCAL_IP:80;" | ||||||
| 			fi | 			fi | ||||||
|   |   | ||||||
| 		echo "proxy_redirect off; | 		echo " proxy_redirect off; | ||||||
|  proxy_buffering off; |  proxy_buffering off; | ||||||
|  proxy_set_header X-Forwarded-For "'$proxy_add_x_forwarded_for'"; |  proxy_set_header X-Forwarded-For "'$proxy_add_x_forwarded_for'"; | ||||||
|  proxy_set_header Upgrade "'$http_upgrade'"; |  proxy_set_header Upgrade "'$http_upgrade'"; | ||||||
|  proxy_set_header Connection "'$http_connection'"; |  proxy_set_header Connection "'$http_connection'"; | ||||||
|  |  proxy_set_header Host "'$host'"; | ||||||
|  proxy_cookie_path / /; |  proxy_cookie_path / /; | ||||||
|  access_log off; |  access_log off; | ||||||
| }" | }" | ||||||
|  |  | ||||||
|  | 		if [[ "$ALTERNATE_LOCATION_PATH" != "" ]]; then | ||||||
|  |  | ||||||
|  | 			ALP_IDX=$(jq -r '.ALTERNATE_LOCATION_PATH | length' $DOMAIN_SOURCE) | ||||||
|  | 			ALP_IDX=$(( $ALP_IDX - 1 )) | ||||||
|  |  | ||||||
|  | 			for i in $(seq 0 $ALP_IDX) ; | ||||||
|  | 			do | ||||||
|  | 				ALP=$(jq -r .ALTERNATE_LOCATION_PATH[$i] $DOMAIN_SOURCE) | ||||||
|  |  | ||||||
|  | 				ALP_LOCAL_PATH=$(echo $ALP | jq -rc .LOCAL_PATH); | ||||||
|  | 				ALP_LOCAL_IP=$(echo $ALP | jq -rc .LOCAL_IP); | ||||||
|  | 				ALP_LOCAL_PORT=$(echo $ALP | jq -rc .LOCAL_PORT); | ||||||
|  |  | ||||||
|  | 				if [[ "$ALP_LOCAL_IP" = "" ]]; then | ||||||
|  | 					ALP_LOCAL_IP=$LOCAL_IP | ||||||
|  | 				fi; | ||||||
|  |  | ||||||
|  | 				if [[ "$ALP_LOCAL_PORT" = "" ]]; then | ||||||
|  | 					ALP_LOCAL_PORT=$HTTP_PORT | ||||||
|  | 				fi; | ||||||
|  |  | ||||||
|  | 				echo "location $ALP_LOCAL_PATH {" | ||||||
|  |  | ||||||
|  | 				if [[ "$ALP_LOCAL_PORT" != "" ]]; then | ||||||
|  | 					echo " proxy_pass http://$ALP_LOCAL_IP:$ALP_LOCAL_PORT;" | ||||||
|  | 				else | ||||||
|  | 					echo " proxy_pass http://$ALP_LOCAL_IP:80;" | ||||||
|  | 				fi | ||||||
|  |   | ||||||
|  |  | ||||||
|  | 		echo " proxy_redirect off; | ||||||
|  |  proxy_buffering off; | ||||||
|  |  proxy_set_header X-Forwarded-For "'$proxy_add_x_forwarded_for'"; | ||||||
|  |  proxy_set_header Upgrade "'$http_upgrade'"; | ||||||
|  |  proxy_set_header Connection "'$http_connection'"; | ||||||
|  |  proxy_set_header Host "'$host'";  | ||||||
|  |  proxy_cookie_path $ALP_LOCAL_PATH $ALP_LOCAL_PATH; | ||||||
|  |  access_log off; | ||||||
|  | }" | ||||||
|  | 			done; | ||||||
|  | 		fi; | ||||||
|  |  | ||||||
| 	fi | 	fi | ||||||
|  |  | ||||||
| echo "}" | echo "}" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user