diff --git a/build-tools/build-docker-images/build-stx-images.sh b/build-tools/build-docker-images/build-stx-images.sh
index 7c82d4c1..f13d6509 100755
--- a/build-tools/build-docker-images/build-stx-images.sh
+++ b/build-tools/build-docker-images/build-stx-images.sh
@@ -26,8 +26,10 @@ IMAGE_VERSION=$(date --utc '+%Y.%m.%d.%H.%M') # Default version, using timestamp
 PREFIX=dev
 LATEST_PREFIX=""
 PUSH=no
-PROXY=""
 CONFIG_FILE=""
+HTTP_PROXY=""
+HTTPS_PROXY=""
+NO_PROXY=""
 DOCKER_USER=${USER}
 DOCKER_REGISTRY=
 BASE=
@@ -57,7 +59,9 @@ Options:
     --wheels:     Specify path to wheels tarball or image, URL or docker tag (required option)
     --wheels-alternate: Specify path to alternate wheels tarball or image, URL or docker tag
     --push:       Push to docker repo
-    --proxy:      Set proxy <URL>:<PORT>
+    --http_proxy: Set proxy <URL>:<PORT>, urls splitted with ","
+    --https_proxy: Set proxy <URL>:<PORT>, urls splitted with ","
+    --no_proxy: Set proxy <URL>, urls splitted with ","
     --user:       Docker repo userid
     --registry:   Docker registry
     --prefix:     Prefix on the image tag (default: dev)
@@ -287,7 +291,20 @@ function post_build {
 
 
     if [ -n "${CUSTOMIZATION}" ]; then
-        docker run --entrypoint /bin/bash --name ${USER}_update_img ${build_image_name} -c "${CUSTOMIZATION}"
+        local -a PROXY_ARGS=
+        if [ ! -z "$HTTP_PROXY" ]; then
+            PROXY_ARGS+=(--env http_proxy=$HTTP_PROXY)
+        fi
+
+        if [ ! -z "$HTTPS_PROXY" ]; then
+            PROXY_ARGS+=(--env https_proxy=$HTTPS_PROXY)
+        fi
+
+        if [ ! -z "$NO_PROXY" ]; then
+            PROXY_ARGS+=(--env no_proxy=$NO_PROXY)
+        fi
+
+        docker run "${PROXY_ARGS[@]}" --entrypoint /bin/bash --name ${USER}_update_img ${build_image_name} -c "${CUSTOMIZATION}"
         if [ $? -ne 0 ]; then
             echo "Failed to add customization for ${LABEL}... Aborting"
             RESULTS_FAILED+=(${LABEL})
@@ -402,8 +419,16 @@ function build_image_loci {
         BUILD_ARGS+=(--build-arg WHEELS=${WHEELS})
     fi
 
-    if [ ! -z "$PROXY" ]; then
-        BUILD_ARGS+=(--build-arg http_proxy=$PROXY)
+    if [ ! -z "$HTTP_PROXY" ]; then
+        BUILD_ARGS+=(--build-arg http_proxy=$HTTP_PROXY)
+    fi
+
+    if [ ! -z "$HTTPS_PROXY" ]; then
+        BUILD_ARGS+=(--build-arg https_proxy=$HTTPS_PROXY)
+    fi
+
+    if [ ! -z "$NO_PROXY" ]; then
+        BUILD_ARGS+=(--build-arg no_proxy=$NO_PROXY)
     fi
 
     if [ -n "${PROJECT_REF}" ]; then
@@ -554,9 +579,18 @@ function build_image_docker {
     BASE_BUILD_ARGS+=(${real_docker_context} --no-cache)
     BASE_BUILD_ARGS+=(--file ${real_docker_file})
     BASE_BUILD_ARGS+=(--build-arg "BASE=${BASE}")
-    if [ ! -z "$PROXY" ]; then
-        BASE_BUILD_ARGS+=(--build-arg http_proxy=$PROXY)
+    if [ ! -z "$HTTP_PROXY" ]; then
+        BASE_BUILD_ARGS+=(--build-arg http_proxy=$HTTP_PROXY)
     fi
+
+    if [ ! -z "$HTTPS_PROXY" ]; then
+        BASE_BUILD_ARGS+=(--build-arg https_proxy=$HTTPS_PROXY)
+    fi
+
+    if [ ! -z "$NO_PROXY" ]; then
+        BASE_BUILD_ARGS+=(--build-arg no_proxy=$NO_PROXY)
+    fi
+
     BASE_BUILD_ARGS+=(--tag ${build_image_name})
     with_retries ${MAX_ATTEMPTS} docker build ${BASE_BUILD_ARGS[@]} 2>&1 | tee ${WORKDIR}/docker-${LABEL}-${OS}-${BUILD_STREAM}.log
 
@@ -639,7 +673,7 @@ function build_image_script {
     cp $(dirname ${image_build_file})/${SCRIPT} ${SCRIPT}
     local build_image_name="${USER}/${LABEL}:${IMAGE_TAG_BUILD}"
 
-    with_retries ${MAX_ATTEMPTS} ${COMMAND} ${SCRIPT} ${ARGS} ${build_image_name} $PROXY 2>&1 | tee ${WORKDIR}/docker-${LABEL}-${OS}-${BUILD_STREAM}.log
+    with_retries ${MAX_ATTEMPTS} ${COMMAND} ${SCRIPT} ${ARGS} ${build_image_name} $HTTP_PROXY $HTTPS_PROXY $NO_PROXY 2>&1 | tee ${WORKDIR}/docker-${LABEL}-${OS}-${BUILD_STREAM}.log
 
     if [ ${PIPESTATUS[0]} -ne 0 ]; then
         echo "Failed to build ${LABEL}... Aborting"
@@ -681,7 +715,7 @@ function build_image {
     esac
 }
 
-OPTS=$(getopt -o h -l help,os:,version:,release:,stream:,push,proxy:,user:,registry:,base:,wheels:,wheels-alternate:,only:,skip:,prefix:,latest,latest-prefix:,clean,attempts:,config-file: -- "$@")
+OPTS=$(getopt -o h -l help,os:,version:,release:,stream:,push,http_proxy:,https_proxy:,no_proxy:,user:,registry:,base:,wheels:,wheels-alternate:,only:,skip:,prefix:,latest,latest-prefix:,clean,attempts:,config-file: -- "$@")
 if [ $? -ne 0 ]; then
     usage
     exit 1
@@ -736,8 +770,16 @@ while true; do
             PUSH=yes
             shift
             ;;
-        --proxy)
-            PROXY=$2
+        --http_proxy)
+            HTTP_PROXY=$2
+            shift 2
+            ;;
+        --https_proxy)
+            HTTPS_PROXY=$2
+            shift 2
+            ;;
+        --no_proxy)
+            NO_PROXY=$2
             shift 2
             ;;
         --user)
diff --git a/build-tools/build-docker-images/update-stx-image.sh b/build-tools/build-docker-images/update-stx-image.sh
index 3146f278..c6f476ed 100755
--- a/build-tools/build-docker-images/update-stx-image.sh
+++ b/build-tools/build-docker-images/update-stx-image.sh
@@ -18,7 +18,9 @@ if [ -z "${MY_WORKSPACE}" -o -z "${MY_REPO}" ]; then
 fi
 
 PUSH=no
-PROXY=""
+HTTP_PROXY=""
+HTTPS_PROXY=""
+NO_PROXY=""
 DOCKER_USER=
 DOCKER_REGISTRY=
 FILE_BASEDIR=${PWD}
@@ -59,7 +61,9 @@ Options:
     --customize:  Customization script
     --extra:      Extra file (to be accessible to customization script)
     --push:       Push to docker repo
-    --proxy:      Set proxy <URL>:<PORT>
+    --http_proxy:      Set http proxy <URL>:<PORT>, urls splitted with ","
+    --https_proxy:     Set https proxy <URL>:<PORT>, urls splitted with ","
+    --no_proxy:        set bypass list for proxy <URL> urls splitted with ","
     --user:       Docker repo userid
     --registry:   Docker registry
     --clean:      Remove image(s) from local registry
@@ -184,7 +188,7 @@ function read_params_from_file {
     FILE_BASEDIR=$(dirname ${FILE})
 }
 
-OPTS=$(getopt -o h -l help,file:,from:,wheel:,module-src:,pkg:,customize:,extra:,push,proxy:,user:,registry:,clean,attempts:,update-id: -- "$@")
+OPTS=$(getopt -o h -l help,file:,from:,wheel:,module-src:,pkg:,customize:,extra:,push,http_proxy:,https_proxy:,no_proxy:,user:,registry:,clean,attempts:,update-id: -- "$@")
 if [ $? -ne 0 ]; then
     usage
     exit 1
@@ -235,8 +239,16 @@ while true; do
             PUSH=yes
             shift
             ;;
-        --proxy)
-            PROXY=$2
+        --http_proxy)
+            HTTP_PROXY=$2
+            shift 2
+            ;;
+        --https_proxy)
+            HTTPS_PROXY=$2
+            shift 2
+            ;;
+        --no_proxy)
+            NO_PROXY=$2
             shift 2
             ;;
         --user)
diff --git a/build-tools/build-wheels/build-base-wheels.sh b/build-tools/build-wheels/build-base-wheels.sh
index b8425fe6..4ab913c1 100755
--- a/build-tools/build-wheels/build-base-wheels.sh
+++ b/build-tools/build-wheels/build-base-wheels.sh
@@ -24,7 +24,9 @@ KEEP_CONTAINER=no
 OS=centos
 OS_VERSION=7.5.1804
 BUILD_STREAM=stable
-PROXY=""
+HTTP_PROXY=""
+HTTPS_PROXY=""
+NO_PROXY=""
 declare -i MAX_ATTEMPTS=1
 
 function usage {
@@ -37,14 +39,16 @@ Options:
     --os-version:     Specify OS version
     --keep-image:     Skip deletion of the wheel build image in docker
     --keep-container: Skip deletion of container used for the build
-    --proxy:          Set proxy <URL>:<PORT>
+    --http_proxy:     Set http proxy <URL>:<PORT>, urls splitted by ","
+    --https_proxy:    Set https proxy <URL>:<PORT>, urls splitted by ","
+    --no_proxy:       Set bypass list for proxy <URL>, urls splitted by ","
     --stream:         Build stream, stable or dev (default: stable)
     --attempts:       Max attempts, in case of failure (default: 1)
 
 EOF
 }
 
-OPTS=$(getopt -o h -l help,os:,os-version:,keep-image,keep-container,release:,stream:,proxy:,attempts: -- "$@")
+OPTS=$(getopt -o h -l help,os:,os-version:,keep-image,keep-container,release:,stream:,http_proxy:,https_proxy:,no_proxy:,attempts: -- "$@")
 if [ $? -ne 0 ]; then
     usage
     exit 1
@@ -83,8 +87,16 @@ while true; do
             BUILD_STREAM=$2
             shift 2
             ;;
-        --proxy)
-            PROXY=$2
+        --http_proxy)
+            HTTP_PROXY=$2
+            shift 2
+            ;;
+        --https_proxy)
+            HTTPS_PROXY=$2
+            shift 2
+            ;;
+        --no_proxy)
+            NO_PROXY=$2
             shift 2
             ;;
         --attempts)
@@ -212,10 +224,18 @@ BASE_IMAGE_PRESENT=$?
 declare -a BUILD_ARGS
 BUILD_ARGS+=(--build-arg RELEASE=${OS_VERSION})
 BUILD_ARGS+=(--build-arg BUILD_STREAM=${BUILD_STREAM})
-if [ ! -z "$PROXY" ]; then
-    BUILD_ARGS+=(--build-arg http_proxy=$PROXY)
-    BUILD_ARGS+=(--build-arg https_proxy=$PROXY)
+if [ ! -z "$HTTP_PROXY" ]; then
+    BUILD_ARGS+=(--build-arg http_proxy=$HTTP_PROXY)
 fi
+
+if [ ! -z "$HTTPS_PROXY" ]; then
+    BUILD_ARGS+=(--build-arg https_proxy=$HTTPS_PROXY)
+fi
+
+if [ ! -z "$NO_PROXY" ]; then
+    BUILD_ARGS+=(--build-arg no_proxy=$NO_PROXY)
+fi
+
 BUILD_ARGS+=(-t ${BUILD_IMAGE_NAME})
 BUILD_ARGS+=(-f ${DOCKER_PATH}/${OS}-dockerfile ${DOCKER_PATH})
 
@@ -233,10 +253,16 @@ if [ "${KEEP_CONTAINER}" = "no" ]; then
 fi
 
 declare -a RUN_ARGS
-if [ ! -z "$PROXY" ]; then
-    RUN_ARGS+=(--env http_proxy=$PROXY)
-    RUN_ARGS+=(--env https_proxy=$PROXY)
+if [ ! -z "$HTTP_PROXY" ]; then
+    RUN_ARGS+=(--env http_proxy=$HTTP_PROXY)
 fi
+if [ ! -z "$HTTPS_PROXY" ]; then
+    RUN_ARGS+=(--env https_proxy=$HTTPS_PROXY)
+fi
+if [ ! -z "$NO_PROXY" ]; then
+    RUN_ARGS+=(--env no_proxy=$NO_PROXY)
+fi
+
 RUN_ARGS+=(${RM_OPT} -v ${BUILD_OUTPUT_PATH}:/wheels ${BUILD_IMAGE_NAME} /docker-build-wheel.sh)
 
 # Run container to build wheels
diff --git a/build-tools/build-wheels/build-wheel-tarball.sh b/build-tools/build-wheels/build-wheel-tarball.sh
index c0909fe7..3625f05b 100755
--- a/build-tools/build-wheels/build-wheel-tarball.sh
+++ b/build-tools/build-wheels/build-wheel-tarball.sh
@@ -24,7 +24,9 @@ BUILD_STREAM=stable
 CURRENT_STABLE_OPENSTACK=ussuri
 VERSION=$(date --utc '+%Y.%m.%d.%H.%M') # Default version, using timestamp
 PUSH=no
-PROXY=""
+HTTP_PROXY=""
+HTTPS_PROXY=""
+NO_PROXY=""
 CLEAN=no
 DOCKER_USER=${USER}
 declare -i MAX_ATTEMPTS=1
@@ -56,7 +58,9 @@ Options:
     --os-version: Specify OS version
     --stream:     Build stream, stable or dev (default: stable)
     --push:       Push to docker repo
-    --proxy:      Set proxy <URL>:<PORT>
+    --http_proxy: Set http proxy <URL>:<PORT>, urls splitted by ","
+    --https_proxy: Set https proxy <URL>:<PORT>, urls splitted by ","
+    --no_proxy:   Set bypass list for proxy <URL>, urls splitted by ","
     --user:       Docker repo userid
     --version:    Version for pushed image (if used with --push)
     --attempts:   Max attempts, in case of failure (default: 1)
@@ -64,7 +68,7 @@ Options:
 EOF
 }
 
-OPTS=$(getopt -o h -l help,os:,os-version:,push,clean,user:,release:,stream:,proxy:,version:,attempts: -- "$@")
+OPTS=$(getopt -o h -l help,os:,os-version:,push,clean,user:,release:,stream:,http_proxy:,https_proxy:,no_proxy:,version:,attempts: -- "$@")
 if [ $? -ne 0 ]; then
     usage
     exit 1
@@ -107,8 +111,16 @@ while true; do
             BUILD_STREAM=$2
             shift 2
             ;;
-        --proxy)
-            PROXY=$2
+        --http_proxy)
+            HTTP_PROXY=$2
+            shift 2
+            ;;
+        --https_proxy)
+            HTTPS_PROXY=$2
+            shift 2
+            ;;
+        --no_proxy)
+            NO_PROXY=$2
             shift 2
             ;;
         --version)
@@ -147,8 +159,16 @@ fi
 # Build the base wheels and retrieve the StarlingX wheels
 declare -a BUILD_BASE_WL_ARGS
 BUILD_BASE_WL_ARGS+=(--os ${OS} --os-version ${OS_VERSION} --stream ${BUILD_STREAM})
-if [ ! -z "$PROXY" ]; then
-    BUILD_BASE_WL_ARGS+=(--proxy ${PROXY})
+if [ ! -z "$HTTP_PROXY" ]; then
+    BUILD_BASE_WL_ARGS+=(--http_proxy ${HTTP_PROXY})
+fi
+
+if [ ! -z "$HTTPS_PROXY" ]; then
+    BUILD_BASE_WL_ARGS+=(--https_proxy ${HTTPS_PROXY})
+fi
+
+if [ ! -z "$NO_PROXY" ]; then
+    BUILD_BASE_WL_ARGS+=(--no_proxy ${NO_PROXY})
 fi
 
 ${MY_SCRIPT_DIR}/build-base-wheels.sh ${BUILD_BASE_WL_ARGS[@]} --attempts ${MAX_ATTEMPTS}