LoginSignup
7
1

More than 5 years have passed since last update.

Djangoではアンダースコアを含むサブドメインが使えない

Last updated at Posted at 2017-11-19

もうタイトルがすべてなんですが、Djangoをデプロイした際のURLのサブドメインにアンダースコアを使っていたところ、下記のようなエラーでハマりました。。

DisallowedHost at /  
Invalid HTTP_HOST header: 'hoge_foo.example.com'. The domain name provided is not valid according to RFC 1034/1035. 

上記、エラーで検索すると settings.pyALLOWED_HOSTS=[ドメイン]ALLOWED_HOSTS=['*'] を設定すればいけるという回答が多くでますが、、
サブドメインにアンダースコア(_)を使っていた場合はALLOWED_HOSTSを正しく設定してもエラーが解消できません。

そのため、hoge_foo.example.comの場合、hoge-foo.example.comのようにする必要があります。

ドメインにアンダースコアが含まれてはいけないとか、なんでアプリ側で律儀に制限してるんだ、、

参考
django - 使用nginx部署时出现 DisallowedHost at /
SuspiciousOperation Invalid HTTP_HOST header with Django
・ Can (domain name) subdomains have an underscore “_” in it?

7
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
1