I'm deploying openstack on CentOS7 and every services and modules deployed well.

but When I type http://<controller-ip>/dashboard , after few minutes, error message 500 "Internal Server Error" appears. I'd checked /var/log/httpd/error_log and saw the error message is:

[Mon Oct 09 10:05:55.743509 2017] [:error] [pid 27541] Misconfiguration of certificate's CN and virtual name. The certificate CN has localhost4.localdomain4. We expected controller as virtual name.

my /etc/hosts content is:   localhost     controller    controller    compute01

updated: By following these links, still I have problem that mentioned above:


now I'm getting confused and I don't know what should I do. Any help would be appreciated.

  • 3
    If the TLS certificate is the problem it might be because 1) you connect with http://<controller-ip>/ where you are expected to use httpS 2) you are expected to connect to httpS://<controller-hostname>/ rather than the IP-address 3) your system is configured reference itself with the hostname controller and that name is not configured in the TLS certifcate you are using. – HBruijn Oct 9 '17 at 7:03
  • @HBruijn thanks for your recommendations, but 1)when I use https, again internal error occurs.2)I exactly enter http(s):// 3)how can I check it? – Fatemeh Abdollahei Oct 9 '17 at 7:05

This is a bug introduced by a package upgrade from Centos (I think from Centos 7.4 series). In order to solve it we need to change our "/etc/httpd/conf.d/openstack-dashboard.conf" file to:

WSGIDaemonProcess dashboard
WSGIProcessGroup dashboard
WSGISocketPrefix run/wsgi
WSGIApplicationGroup %{GLOBAL}

WSGIScriptAlias /dashboard /usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi
Alias /dashboard/static /usr/share/openstack-dashboard/static

<Directory /usr/share/openstack-dashboard/openstack_dashboard/wsgi>
  Options All
  AllowOverride All
  Require all granted

<Directory /usr/share/openstack-dashboard/static>
  Options All
  AllowOverride All
  Require all granted

Then restart httpd: systemctl restart httpd.

The missing item is: WSGIApplicationGroup %{GLOBAL}

  • Thanks! For me, I had the WSGIApplicationGroup %{GLOBAL} line, but it was in one of the <Directory> blocks. Moving that line out of the block worked – jpyams Aug 2 '18 at 15:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.