2017-04-22 16 views
1

のためのサブドメインの設定私は、通常のDjangoプロジェクト構築しています - 違いはこれです:nginxの/ gunicorn + Djangoは:サードパーティのアプリケーションとの統合

  1. を私はにDjangoのウェブサイトをしたいだけ「仕事」http://www.foo.mydomain.com

  2. 別の指定されたサブドメインで実行するために全く異なるアプリケーションを使用したいと思います。そのほか、他のアプリケーションは、同じ親ドメイン上の他のサブドメイン上で実行することができます - ?それが唯一の特定のサブドメイン上で実行され、他のサブドメインへの要求をインターセプトしないように、IセットアップDjangoプロジェクトにはどうすればよいhttp://www.foobar.mydomain.com

[注1]

第二のアプリケーション(他のサブドメインで実行されているがない Djangoのアプリです)。実際には、それはmattermostです。私は他のサブドメインで実行したいので、私は自分のウェブサイトに事実上統合することができます。

[注2]

Iサーバ

+0

['ALLOWED_HOSTS'](https://docs.djangoproject.com/en/1.11/ref/settings/#allowed-hosts)の使用はいかがですか?したがって、第1のウェブサイトは 'ALLOWED_HOSTS = ['www.foo.mydomain.com']'、第2の 'ALLOWED_HOSTS = ['www.foobar.mydomain.com']'になります。 –

+0

サブドメインに応じてトラフィックをリダイレクトするようにサーバーを設定する方法はありますか? –

+0

@nik_mそれはおそらくうまくいくかもしれませんが、私はそれをすることを知らないでしょう(私はgunix + nginxを使用しています)。サブドメインに基づいてリダイレクトする方法をご存知ですか?設定ファイルの例は素晴らしいでしょう –

答えて

0

ドメインごとに別々のserverブロックを使用としてnginxの+ gunicornを使用しています。 this documentを参照してください。 server_nameマッチが見つからない

server { 
    server_name www.foo.mydomain.com; 
    ... 
} 
server { 
    server_name www.foobar.mydomain.com; 
    ... 
} 

nginxは、デフォルトのサーバーを使用します。したがって、キャッチオールサーバーブロックを定義して、上記のサーバーブロックの1つを使用してnginxを防ぎます。

server { 
    listen 80 default_server; 
    deny all; 
} 
関連する問題