diff --git a/.circleci/config.yml b/.circleci/config.yml
index b860f3f224..c5c665b83f 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -148,20 +148,9 @@ jobs:
       - run:
           name: Smoke test quick start redirects
           command: |
-            status=$(curl --header "x-forwarded-proto: https" \
-                          --silent --output /dev/null -w "%{http_code}" \
-                          http://localhost:3001/docs/quick-start-guide)
-            if [ ${status} -ne 200 ]; then
-              echo "Expect a 200 status code, got ${status}"
-              exit 1
-            fi
-            status=$(curl --header "x-forwarded-proto: https" \
-                          --silent --output /dev/null -w "%{http_code}" \
-                          http://localhost:3001/docs/quick-start-guide/)
-            if [ ${status} -ne 301 ]; then
-              echo "Expect a 301 status code, got ${status}"
-              exit 1
-            fi
+            ./bin/assert-success.sh /docs/quick-start-guide
+            ./bin/assert-redirect.sh /docs/quick-start-guide/ \
+                                     https://localhost/docs/quick-start-guide
 
 workflows:
   test_branch:
diff --git a/bin/assert-redirect.sh b/bin/assert-redirect.sh
new file mode 100755
index 0000000000..0caa9da221
--- /dev/null
+++ b/bin/assert-redirect.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+#
+# A utility script to assert redirects served up by nginx
+#
+# Usage: assert-redirects.sh PATH DESTINATION_URL
+#
+# - PATH - Local URL path, like /docs
+# - DESTINATION_URL - Destination URL the direct goes to
+
+FROM=${1}
+TO=${2}
+
+if [[ -z $FROM || -z $TO ]]; then
+  echo "Usage: assert-redirects.sh PATH DESTINATION_URL"
+  exit 1
+fi
+
+OUTPUT=$(curl --header "X-Forwarded-Proto: https" \
+              --silent --output /dev/null \
+              --write-out "%{http_code} %{redirect_url}" \
+              http://localhost:3001${FROM})
+
+CODE=$(echo $OUTPUT | cut -f 1 -d " ")
+URL=$(echo $OUTPUT | cut -f 2 -d " ")
+
+if [ ${CODE} -ne 301 ]; then
+  echo "Expect a 301 status code, got '${CODE}'"
+  exit 1
+fi
+
+if [ ${URL} != ${TO} ]; then
+  echo "Expected ${FROM} to redirect to ${TO}, got '${URL}' instead"
+  exit 1
+fi
+
+echo "OK: '${FROM}' redirects to '${TO}'"
diff --git a/bin/assert-success.sh b/bin/assert-success.sh
new file mode 100755
index 0000000000..5802d14718
--- /dev/null
+++ b/bin/assert-success.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+#
+# A utility script to assert successful responses served up by nginx
+#
+# Usage: assert-success.sh PATH
+#
+# - PATH - Local URL path, like /docs
+
+URI_PATH=${1}
+
+if [[ -z $URI_PATH ]]; then
+  echo "Usage: assert-success.sh PATH"
+  exit 1
+fi
+
+CODE=$(curl --header "X-Forwarded-Proto: https" \
+              --silent --output /dev/null \
+              --write-out "%{http_code}" \
+              http://localhost:3001${URI_PATH})
+
+if [ ${CODE} -ne 200 ]; then
+  echo "Expect a 200 status code, got '${CODE}'"
+  exit 1
+fi
+
+echo "OK: '${URI_PATH}' returned a 200 status code"