diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml
index bfeb2dfc2c..370d9da92e 100644
--- a/ansible/group_vars/all.yml
+++ b/ansible/group_vars/all.yml
@@ -341,7 +341,7 @@ heat_api_cfn_listen_port: "{{ heat_api_cfn_port }}"
 
 horizon_port: "80"
 horizon_tls_port: "443"
-horizon_listen_port: "{{ horizon_port }}"
+horizon_listen_port: "{{ horizon_tls_port if horizon_enable_tls_backend | bool else horizon_port }}"
 
 influxdb_http_port: "8086"
 
diff --git a/ansible/roles/horizon/templates/horizon.conf.j2 b/ansible/roles/horizon/templates/horizon.conf.j2
index d7b25620e4..e9671a2d07 100644
--- a/ansible/roles/horizon/templates/horizon.conf.j2
+++ b/ansible/roles/horizon/templates/horizon.conf.j2
@@ -13,7 +13,7 @@ ServerSignature Off
 ServerTokens Prod
 TraceEnable off
 
-<VirtualHost *:{{ horizon_listen_port }}>
+<VirtualHost {{ api_interface_address }}:{{ horizon_listen_port }}>
     LogLevel warn
     ErrorLog /var/log/kolla/horizon/horizon.log
     LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b %D \"%{Referer}i\" \"%{User-Agent}i\"" logformat
@@ -50,11 +50,6 @@ TraceEnable off
 {% endif %}
 </VirtualHost>
 
-{# FIXME(yoctozepto): enabling of either tls will break the other if not enabled too #}
-{% if kolla_enable_tls_external | bool or kolla_enable_tls_internal | bool %}
-Header edit Location ^http://(.*)$ https://$1
-{% endif %}
-
 <IfModule mod_deflate.c>
     # Compress HTML, CSS, JavaScript, Json, Text, XML and fonts
     AddOutputFilterByType DEFLATE application/javascript
diff --git a/releasenotes/notes/bug-1933846-122a62e9724b638c.yaml b/releasenotes/notes/bug-1933846-122a62e9724b638c.yaml
new file mode 100644
index 0000000000..4df65a4175
--- /dev/null
+++ b/releasenotes/notes/bug-1933846-122a62e9724b638c.yaml
@@ -0,0 +1,5 @@
+---
+fixes:
+  - |
+    Fixes horizon's healthcheck when SSL is turned on.
+    `LP#1933846 <https://launchpad.net/bugs/1933846>`__