diff --git a/common/djangoapps/track/views/__init__.py b/common/djangoapps/track/views/__init__.py
index b5cf9ce881105262428f974ca319d1db6cbd51ea..eca17f5227365b4373c8e8f0aac7270daebe5182 100644
--- a/common/djangoapps/track/views/__init__.py
+++ b/common/djangoapps/track/views/__init__.py
@@ -96,6 +96,8 @@ def server_track(request, event_type, event, page=None):
     except:
         username = "anonymous"
 
+    host_header = 'HTTP_HOST' if request is not None and 'HTTP_HOST' in request.META else 'SERVER_NAME'
+
     # define output:
     event = {
         "username": username,
@@ -108,7 +110,7 @@ def server_track(request, event_type, event, page=None):
         "agent": _get_request_header(request, 'HTTP_USER_AGENT').decode('latin1'),
         "page": page,
         "time": datetime.datetime.utcnow().replace(tzinfo=pytz.utc),
-        "host": _get_request_header(request, 'SERVER_NAME'),
+        "host": _get_request_header(request, host_header),
         "context": eventtracker.get_tracker().resolve_context(),
     }
 
diff --git a/common/djangoapps/util/views.py b/common/djangoapps/util/views.py
index d19305a2220c4c025c1a827c754f5bfee46ab273..13b02715dbaed1900b7be6595b981cec6ef591fb 100644
--- a/common/djangoapps/util/views.py
+++ b/common/djangoapps/util/views.py
@@ -388,6 +388,8 @@ def get_feedback_form_context(request):
 
     context["additional_info"] = {}
 
+    host_header = 'HTTP_HOST' if request is not None and 'HTTP_HOST' in request.META else 'SERVER_NAME'
+
     if request.user.is_authenticated:
         context["realname"] = request.user.profile.name
         context["email"] = request.user.email
@@ -397,7 +399,7 @@ def get_feedback_form_context(request):
         context["email"] = request.POST["email"]
 
     for header, pretty in [("HTTP_REFERER", "Page"), ("HTTP_USER_AGENT", "Browser"), ("REMOTE_ADDR", "Client IP"),
-                           ("SERVER_NAME", "Host")]:
+                           (host_header, "Host")]:
         context["additional_info"][pretty] = request.META.get(header)
 
     context["support_email"] = configuration_helpers.get_value('email_from_address', settings.DEFAULT_FROM_EMAIL)
diff --git a/lms/djangoapps/dashboard/sysadmin.py b/lms/djangoapps/dashboard/sysadmin.py
index e348e3db6ad7af7fe9ecd9063478772b3015c1c8..95d2c4618fd8689c36bc52eb0fe5629021d5960a 100644
--- a/lms/djangoapps/dashboard/sysadmin.py
+++ b/lms/djangoapps/dashboard/sysadmin.py
@@ -296,12 +296,14 @@ class Users(SysadminDashboardView):
         action = request.POST.get('action', '')
         track.views.server_track(request, action, {}, page='user_sysdashboard')
 
+        host_header = 'HTTP_HOST' if request is not None and 'HTTP_HOST' in request.META else 'SERVER_NAME'
+
         if action == 'download_users':
             header = [_('username'), _('email'), ]
             data = ([u.username, u.email] for u in
                     (User.objects.all().iterator()))
             return self.return_csv('users_{0}.csv'.format(
-                request.META['SERVER_NAME']), header, data)
+                request.META[host_header]), header, data)
         elif action == 'repair_eamap':
             self.msg = u'<h4>{0}</h4><pre>{1}</pre>{2}'.format(
                 _('Repair Results'),
@@ -552,6 +554,8 @@ class Staffing(SysadminDashboardView):
         track.views.server_track(request, action, {},
                                  page='staffing_sysdashboard')
 
+        host_header = 'HTTP_HOST' if request is not None and 'HTTP_HOST' in request.META else 'SERVER_NAME'
+
         if action == 'get_staff_csv':
             data = []
             roles = [CourseInstructorRole, CourseStaffRole, ]
@@ -566,7 +570,7 @@ class Staffing(SysadminDashboardView):
                       _('role'), _('username'),
                       _('email'), _('full_name'), ]
             return self.return_csv('staff_{0}.csv'.format(
-                request.META['SERVER_NAME']), header, data)
+                request.META[host_header]), header, data)
 
         return self.get(request)
 
diff --git a/lms/djangoapps/instructor_task/api_helper.py b/lms/djangoapps/instructor_task/api_helper.py
index 1504ef747d31ea1d337bac1b069804472643639c..19b4ff93162a2a7a0d65ebf7d1d06c39f0fab3df 100644
--- a/lms/djangoapps/instructor_task/api_helper.py
+++ b/lms/djangoapps/instructor_task/api_helper.py
@@ -135,11 +135,13 @@ def _get_xmodule_instance_args(request, task_id):
     permit old-style xqueue callbacks directly to the appropriate module in the LMS.
     The `task_id` is also passed to the tracking log function.
     """
+    host_header = 'HTTP_HOST' if request is not None and 'HTTP_HOST' in request.META else 'SERVER_NAME'
+
     request_info = {'username': request.user.username,
                     'user_id': request.user.id,
                     'ip': request.META['REMOTE_ADDR'],
                     'agent': request.META.get('HTTP_USER_AGENT', '').decode('latin1'),
-                    'host': request.META['SERVER_NAME'],
+                    'host': request.META[host_header],
                     }
 
     xmodule_instance_args = {'xqueue_callback_url_prefix': get_xqueue_callback_url_prefix(request),
diff --git a/requirements/edx-sandbox/base.txt b/requirements/edx-sandbox/base.txt
index b12d655007b523857d135617ce0ce90c7cab7a4b..0b26d8694c46da0be3629c7acb27d06196b80fd8 100644
--- a/requirements/edx-sandbox/base.txt
+++ b/requirements/edx-sandbox/base.txt
@@ -25,7 +25,7 @@ nose==1.3.7               # via matplotlib
 numpy==1.6.2
 pycparser==2.19
 pyparsing==2.2.0
-python-dateutil==2.7.3    # via matplotlib
+python-dateutil==2.7.5    # via matplotlib
 scipy==0.14.0
 singledispatch==3.4.0.3   # via tornado
 six==1.11.0
diff --git a/requirements/edx/base.in b/requirements/edx/base.in
index ebe071b42399b12676c73c13b6d16df67766ec32..e800204df8d62d1f32a3819c890589379159fee8 100644
--- a/requirements/edx/base.in
+++ b/requirements/edx/base.in
@@ -24,6 +24,7 @@
 #    as development.in or testing.in instead.
 
 analytics-python==1.1.0             # Used for Segment analytics
+aniso8601==3.0.2                    # via tincan
 attrs                               # Reduces boilerplate code involving class attributes
 Babel==1.3                          # Internationalization utilities, used for date formatting in a few places
 bleach==1.4                         # Allowed-list-based HTML sanitizing library that escapes or strips markup and attributes; used for capa and LTI
@@ -92,7 +93,7 @@ fs==2.0.18
 fs-s3fs==0.1.8
 futures ; python_version == "2.7"   # via django-pipeline, python-swift-client, s3transfer
 glob2==0.3                          # Enhanced glob module, used in openedx.core.lib.rooted_paths
-gunicorn==17.5
+gunicorn==19.0
 help-tokens
 html5lib==0.999                     # HTML parser, used for capa problems
 ipaddr==2.1.11                      # Ip network support for Embargo feature
@@ -128,8 +129,8 @@ pyuca==1.1                          # For more accurate sorting of translated co
 reportlab                           # Used for shopping cart's pdf invoice/receipt generation
 rest-condition                      # DRF's recommendation for supporting complex permissions
 rfc6266-parser                      # Used to generate Content-Disposition headers.
-social-auth-app-django
-social-auth-core
+social-auth-app-django==2.1.0
+social-auth-core==1.7.0
 pysrt==0.4.7                        # Support for SubRip subtitle files, used in the video XModule
 pytz==2016.10                       # Time zone information database
 PyYAML                              # Used to parse XModule resource templates
diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt
index 54110978aee368e87b4e65db7877f6c4219fe3e7..ecbcd570c7e667eba3d0e284272d350ec62aa40f 100644
--- a/requirements/edx/base.txt
+++ b/requirements/edx/base.txt
@@ -41,7 +41,7 @@ git+https://github.com/open-craft/xblock-poll@add89e14558c30f3c8dc7431e5cd6536ff
 -e common/lib/xmodule
 amqp==1.4.9               # via kombu
 analytics-python==1.1.0
-aniso8601==3.0.2          # via tincan
+aniso8601==3.0.2
 anyjson==0.3.3            # via kombu
 appdirs==1.4.3            # via fs
 argh==0.26.2
@@ -94,7 +94,7 @@ django-require==1.0.11
 django-rest-swagger==2.2.0
 django-sekizai==0.10.0
 django-ses==0.8.4
-django-simple-history==2.4.0
+django-simple-history==2.5.1
 django-splash==0.2.2
 django-statici18n==1.4.0
 django-storages==1.4.1
@@ -126,7 +126,7 @@ edx-oauth2-provider==1.2.2
 edx-opaque-keys[django]==0.4.4
 edx-organizations==1.0.0
 edx-proctoring==1.4.0
-edx-rest-api-client==1.8.2
+edx-rest-api-client==1.9
 edx-search==1.2.1
 edx-submissions==2.0.12
 edx-user-state-client==1.0.4
@@ -138,10 +138,10 @@ feedparser==5.1.3
 firebase-token-generator==1.3.2
 fs-s3fs==0.1.8
 fs==2.0.18
-future==0.16.0            # via pyjwkest
+future==0.17.0            # via pyjwkest
 futures==3.2.0 ; python_version == "2.7"
 glob2==0.3
-gunicorn==17.5
+gunicorn==19.0
 hash-ring==1.3.1          # via django-memcached-hashring
 help-tokens==1.0.3
 html5lib==0.999
@@ -180,7 +180,7 @@ openapi-codec==1.3.2      # via django-rest-swagger
 path.py==8.2.1
 pathtools==0.1.2
 paver==1.3.4
-pbr==5.0.0
+pbr==5.1.0
 pdfminer==20140328
 piexif==1.0.2
 pillow==5.3.0
@@ -211,7 +211,7 @@ pyyaml==3.13
 redis==2.10.6
 reportlab==3.5.9
 requests-oauthlib==1.0.0
-requests==2.19.1
+requests==2.20.0
 rest-condition==1.0.3
 rfc6266-parser==0.0.5.post2
 rules==2.0
diff --git a/requirements/edx/development.txt b/requirements/edx/development.txt
index 2aa0f91fd4052ccddf6e9c07d7a57052a5f5ada9..4b5d8d54b82c253bfc205da313234945c28e92eb 100644
--- a/requirements/edx/development.txt
+++ b/requirements/edx/development.txt
@@ -113,7 +113,7 @@ django-require==1.0.11
 django-rest-swagger==2.2.0
 django-sekizai==0.10.0
 django-ses==0.8.4
-django-simple-history==2.4.0
+django-simple-history==2.5.1
 django-splash==0.2.2
 django-statici18n==1.4.0
 django-storages==1.4.1
@@ -146,7 +146,7 @@ edx-oauth2-provider==1.2.2
 edx-opaque-keys[django]==0.4.4
 edx-organizations==1.0.0
 edx-proctoring==1.4.0
-edx-rest-api-client==1.8.2
+edx-rest-api-client==1.9
 edx-search==1.2.1
 edx-sphinx-theme==1.3.0
 edx-submissions==2.0.12
@@ -171,11 +171,11 @@ fs-s3fs==0.1.8
 fs==2.0.18
 funcsigs==1.0.2
 functools32==3.2.3.post2
-future==0.16.0
+future==0.17.0
 futures==3.2.0 ; python_version == "2.7"
 fuzzywuzzy==0.17.0
 glob2==0.3
-gunicorn==17.5
+gunicorn==19.0
 hash-ring==1.3.1
 help-tokens==1.0.3
 html5lib==0.999
@@ -189,7 +189,7 @@ ipaddr==2.1.11
 ipaddress==1.0.22
 isodate==0.6.0
 isort==4.3.4
-itsdangerous==0.24
+itsdangerous==1.1.0
 itypes==1.1.0
 jinja2-pluralize==0.3.0
 jinja2==2.10
@@ -227,11 +227,11 @@ oauthlib==2.1.0
 openapi-codec==1.3.2
 pa11ycrawler==1.6.2
 packaging==18.0           # via sphinx
-parsel==1.5.0
+parsel==1.5.1
 path.py==8.2.1
 pathtools==0.1.2
 paver==1.3.4
-pbr==5.0.0
+pbr==5.1.0
 pdfminer==20140328
 piexif==1.0.2
 pillow==5.3.0
@@ -271,7 +271,7 @@ pytest-cov==2.5.1
 pytest-django==3.1.2
 pytest-forked==0.2
 pytest-randomly==1.2.3
-pytest-xdist==1.23.2
+pytest-xdist==1.24.0
 pytest==3.6.3
 python-dateutil==2.4.0
 python-levenshtein==0.12.0
@@ -290,7 +290,7 @@ radon==2.4.0
 redis==2.10.6
 reportlab==3.5.9
 requests-oauthlib==1.0.0
-requests==2.19.1
+requests==2.20.0
 rest-condition==1.0.3
 rfc6266-parser==0.0.5.post2
 rules==2.0
@@ -326,7 +326,7 @@ text-unidecode==1.2
 tincan==0.0.5
 toml==0.10.0
 tox-battery==0.5.1
-tox==3.5.2
+tox==3.5.3
 traceback2==1.4.0
 transifex-client==0.13.5
 twisted==16.6.0
@@ -340,7 +340,7 @@ urlobject==2.4.3
 user-util==0.1.5
 virtualenv==16.0.0
 voluptuous==0.11.5
-vulture==0.29
+vulture==1.0
 w3lib==1.19.0
 watchdog==0.9.0
 web-fragments==0.2.2
@@ -352,4 +352,4 @@ xblock-utils==1.2.0
 xblock==1.2.2
 xmltodict==0.11.0
 zendesk==1.1.1
-zope.interface==4.5.0
+zope.interface==4.6.0
diff --git a/requirements/edx/paver.in b/requirements/edx/paver.in
index 4be620eed2fd3113e97c9e60f002858f227593e9..4e86481cb1f9042a28ff6d644fd496ce7c481694 100644
--- a/requirements/edx/paver.in
+++ b/requirements/edx/paver.in
@@ -19,5 +19,6 @@ pymongo==2.9.1                      # via edx-opaque-keys
 python-memcached==1.48              # Python interface to the memcached memory cache daemon
 requests                            # Simple interface for making HTTP requests
 stevedore==1.10.0                   # via edx-opaque-keys
+urllib3==1.23                       # via requests
 watchdog                            # Used in paver watch_assets
 wrapt==1.10.5                       # Decorator utilities used in the @timed paver task decorator
diff --git a/requirements/edx/paver.txt b/requirements/edx/paver.txt
index 53774b50580a752c6248e273ea082b165bdb4f40..3f785cf2eb09ae5999eadb75e93d98a275b6ee9f 100644
--- a/requirements/edx/paver.txt
+++ b/requirements/edx/paver.txt
@@ -17,14 +17,14 @@ mock==1.0.1
 path.py==8.2.1
 pathtools==0.1.2          # via watchdog
 paver==1.3.4
-pbr==5.0.0                # via stevedore
+pbr==5.1.0                # via stevedore
 psutil==1.2.1
 pymongo==2.9.1
 python-memcached==1.48
 pyyaml==3.13              # via watchdog
-requests==2.19.1
+requests==2.20.0
 six==1.11.0               # via edx-opaque-keys, libsass, paver, stevedore
 stevedore==1.10.0
-urllib3==1.23             # via requests
+urllib3==1.23
 watchdog==0.9.0
 wrapt==1.10.5
diff --git a/requirements/edx/testing.in b/requirements/edx/testing.in
index f142734231d9600818bc4a1062c5c2e795d7824d..2da3b0e1b08a027383b7055ac941e021b1c37c72 100644
--- a/requirements/edx/testing.in
+++ b/requirements/edx/testing.in
@@ -25,6 +25,7 @@ edx-lint                  # pylint extensions for Open edX repositories
 pylint-plugin-utils==0.3  # required by edx-lint and pinned explicitly here because newer versions don't guarantee python 2 support.
                           # can be removed when we get to python 3
 factory_boy==2.8.1        # Library for creating test fixtures, used in many tests
+flake8==3.5.0             # via flake8-polyfill
 freezegun                 # Allows tests to mock the output of assorted datetime module functions
 httpretty                 # Library for mocking HTTP requests, used in many tests
 isort                     # For checking and fixing the order of imports
diff --git a/requirements/edx/testing.txt b/requirements/edx/testing.txt
index f8c127b71ad40f8bf22b0ff89b6d64745a946ad5..369ff383316355e923da0a715bfd14b975392e2e 100644
--- a/requirements/edx/testing.txt
+++ b/requirements/edx/testing.txt
@@ -109,7 +109,7 @@ django-require==1.0.11
 django-rest-swagger==2.2.0
 django-sekizai==0.10.0
 django-ses==0.8.4
-django-simple-history==2.4.0
+django-simple-history==2.5.1
 django-splash==0.2.2
 django-statici18n==1.4.0
 django-storages==1.4.1
@@ -141,7 +141,7 @@ edx-oauth2-provider==1.2.2
 edx-opaque-keys[django]==0.4.4
 edx-organizations==1.0.0
 edx-proctoring==1.4.0
-edx-rest-api-client==1.8.2
+edx-rest-api-client==1.9
 edx-search==1.2.1
 edx-submissions==2.0.12
 edx-user-state-client==1.0.4
@@ -158,18 +158,18 @@ filelock==3.0.9           # via tox
 firebase-token-generator==1.3.2
 fixtures==3.0.0           # via testtools
 flake8-polyfill==1.0.2    # via radon
-flake8==3.5.0             # via flake8-polyfill
+flake8==3.5.0
 flask==1.0.2              # via moto
 freezegun==0.3.11
 fs-s3fs==0.1.8
 fs==2.0.18
 funcsigs==1.0.2           # via pytest
 functools32==3.2.3.post2  # via parsel
-future==0.16.0
+future==0.17.0
 futures==3.2.0 ; python_version == "2.7"
 fuzzywuzzy==0.17.0
 glob2==0.3
-gunicorn==17.5
+gunicorn==19.0
 hash-ring==1.3.1
 help-tokens==1.0.3
 html5lib==0.999
@@ -182,7 +182,7 @@ ipaddr==2.1.11
 ipaddress==1.0.22
 isodate==0.6.0
 isort==4.3.4
-itsdangerous==0.24        # via flask
+itsdangerous==1.1.0       # via flask
 itypes==1.1.0
 jinja2-pluralize==0.3.0
 jinja2==2.10
@@ -218,11 +218,11 @@ oauth2==1.9.0.post1
 oauthlib==2.1.0
 openapi-codec==1.3.2
 pa11ycrawler==1.6.2
-parsel==1.5.0             # via scrapy
+parsel==1.5.1             # via scrapy
 path.py==8.2.1
 pathtools==0.1.2
 paver==1.3.4
-pbr==5.0.0
+pbr==5.1.0
 pdfminer==20140328
 piexif==1.0.2
 pillow==5.3.0
@@ -260,7 +260,7 @@ pytest-cov==2.5.1
 pytest-django==3.1.2
 pytest-forked==0.2        # via pytest-xdist
 pytest-randomly==1.2.3
-pytest-xdist==1.23.2
+pytest-xdist==1.24.0
 pytest==3.6.3
 python-dateutil==2.4.0
 python-levenshtein==0.12.0
@@ -279,7 +279,7 @@ radon==2.4.0
 redis==2.10.6
 reportlab==3.5.9
 requests-oauthlib==1.0.0
-requests==2.19.1
+requests==2.20.0
 rest-condition==1.0.3
 rfc6266-parser==0.0.5.post2
 rules==2.0
@@ -311,7 +311,7 @@ text-unidecode==1.2       # via faker
 tincan==0.0.5
 toml==0.10.0              # via tox
 tox-battery==0.5.1
-tox==3.5.2
+tox==3.5.3
 traceback2==1.4.0         # via testtools, unittest2
 transifex-client==0.13.5
 twisted==16.6.0           # via pa11ycrawler, scrapy
@@ -335,4 +335,4 @@ xblock-utils==1.2.0
 xblock==1.2.2
 xmltodict==0.11.0         # via moto
 zendesk==1.1.1
-zope.interface==4.5.0     # via twisted
+zope.interface==4.6.0     # via twisted