diff --git a/tests/test_nginx_vhosts.py b/tests/test_nginx_vhosts.py
index 385d41e9874b2459a1759c41dd66c61a2e2b9d22..5c7965aaee97d89fe283b829bdf4137a4ad3ee75 100755
--- a/tests/test_nginx_vhosts.py
+++ b/tests/test_nginx_vhosts.py
@@ -1,13 +1,15 @@
 #!/usr/bin/env python3
 # -*- coding: utf-8 -*-
 '''
-Check the response status code of all enabled vhosts.
-Allowed status code are: 403 and 200.
-Also check Wowza response for all mediaserver vhosts.
+This script checks for all enabled vhosts in Nginx conf that:
+* The response status code is 200 or 403.
+* The host is resolved as 127.0.0.1.
+* The Wowza response is correct on /streaming/ (only for mediaserver vhosts).
 '''
 import os
 import re
 import requests
+import socket
 import sys
 
 
@@ -48,34 +50,39 @@ for name in os.listdir(nginx_dir):
         found = True
         url = '%s://%s' % ('https' if https else 'http', domain)
         sys.stdout.write('Testing url "%s": ' % url)
-        try:
-            req = requests.get(url, verify=False, proxies={'http': '', 'https': ''}, timeout=10)
-        except Exception as e:
-            code = str(e)
-        else:
-            code = req.status_code
-        if code not in (200, 403):
-            sys.stdout.write('\033[91mKO (%s)\033[0m' % code)
+        ip = socket.gethostbyname(domain)
+        if ip != '127.0.0.1':
+            sys.stdout.write('\033[91mKO (domain is not resolved with 127.0.0.1)\033[0m')
             errors += 1
         else:
-            sys.stdout.write('\033[92mOK (%s)\033[0m' % code)
-            if 'mediaserver' in name and wowza_dir:
-                # test /streaming url
-                sys.stdout.write(', streaming: ')
-                try:
-                    req = requests.get(url + '/streaming/', verify=False, proxies={'http': '', 'https': ''}, timeout=10)
-                except Exception as e:
-                    code = str(e)
-                else:
-                    code = req.status_code
-                if code != 200:
-                    sys.stdout.write('\033[91mKO (%s)\033[0m' % code)
-                    errors += 1
-                elif 'Wowza Streaming Engine' not in req.text:
-                    sys.stdout.write('\033[91mKO (%s, %s)\033[0m' % (code, req.text.replace('\n', ' ')[:200]))
-                    errors += 1
-                else:
-                    sys.stdout.write('\033[92mOK (%s)\033[0m' % code)
+            try:
+                req = requests.get(url, verify=False, proxies={'http': '', 'https': ''}, timeout=10)
+            except Exception as e:
+                code = str(e)
+            else:
+                code = req.status_code
+            if code not in (200, 403):
+                sys.stdout.write('\033[91mKO (%s)\033[0m' % code)
+                errors += 1
+            else:
+                sys.stdout.write('\033[92mOK (%s)\033[0m' % code)
+                if 'mediaserver' in name and wowza_dir:
+                    # test /streaming url
+                    sys.stdout.write(', streaming: ')
+                    try:
+                        req = requests.get(url + '/streaming/', verify=False, proxies={'http': '', 'https': ''}, timeout=10)
+                    except Exception as e:
+                        code = str(e)
+                    else:
+                        code = req.status_code
+                    if code != 200:
+                        sys.stdout.write('\033[91mKO (%s)\033[0m' % code)
+                        errors += 1
+                    elif 'Wowza Streaming Engine' not in req.text:
+                        sys.stdout.write('\033[91mKO (%s, %s)\033[0m' % (code, req.text.replace('\n', ' ')[:200]))
+                        errors += 1
+                    else:
+                        sys.stdout.write('\033[92mOK (%s)\033[0m' % code)
         sys.stdout.write('.\n')
 
 if errors: