DEBUGをTrueにすると現象が出ないので、何が間違っているのか調査のしようがありません。
原因は ALLOWED_HOSTS が宣言されていなかったことでした。
Django-1.4で作成したプロジェクトの settings.py に次の行を追加することで、とりあえず動くようになります。
ALLOWED_HOSTS = [ '*' ]
リリースノートに、ちゃんと書いてあるじゃん!読めよ!みたいな。。。
ALLOWED_HOSTS required in production¶企業ユースだとセキュリティ的に接続元を限定したくて、Apache の Allow fromを 宣言することが多いのですが、これだと設定ファイルに書けばいいので楽チンですね。オーバーヘッドは気になりますけど・・・。
The new ALLOWED_HOSTS setting validates the request’s Host header and protects against host-poisoning attacks. This setting is now required whenever DEBUG is False, or else django.http.HttpRequest.get_host() will raise SuspiciousOperation. For more details see the full documentation for the new setting.