OpenstackのHorizonでSomething went wrong!と表示される時の対処法

下記のような画面が表示される場合、アクセスしたホストが許可されてない場合があります。

アクセスが許可されていない場合、/var/log/horizon/horizon.logに次のようなログが出ています。
2014-01-25 23:13:34,980 21326 ERROR django.request Internal Server Error: /dashboard/
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/django/core/handlers/base.py", line 89, in get_response
    response = middleware_method(request)
  File "/usr/lib/python2.6/site-packages/django/middleware/common.py", line 55, in process_request
    host = request.get_host()
  File "/usr/lib/python2.6/site-packages/django/http/__init__.py", line 223, in get_host
    "Invalid HTTP_HOST header (you may need to set ALLOWED_HOSTS): %s" % host)
SuspiciousOperation: Invalid HTTP_HOST header (you may need to set ALLOWED_HOSTS): 192.168.158.20
上記に該当する場合、/etc/openstack-dashboard/local_settingsのALLOWED_HOSTS行に上記のログで表示されている最後の部分(青色で強調)を追加するとうまくいきます。
例)192.168.158.20からのアクセスを許可する場合、青字の部分を追加
ALLOWED_HOSTS = ['192.168.158.20', '192.168.0.10', 'ika.localdomain', 'localhost', ]
最後に、httpd (apache)を再起動します。 RedHat系ならコマンドラインで、
# service httpd restart
なお、これはHorizonというよりDjangoのアクセス制御機構に起因する問題です。

0 件のコメント: