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