Flask + apacheのサブドメイン設定

Flask + apacheのサブドメイン設定

CentOS サーバーに Flask をインストールしてデプロイしましたが、何らかの理由でサブドメインが正しく動作しません。この点について本当に助けが必要です。私はこの分野の初心者なので、少し手柔らかにお願いします。

詳細は次のとおりです。

  1. セントOS7
  2. Python 3.6.4
  3. Apache/2.4.6 (CentOS)

私の Flask アプリケーションは次のように構成されています。

/home/user/web/mysite.net/
  wsgi.py
  runserver.py
  mysite/
    __init__.py
    views.py
    ...

views.py 内には、サブドメイン「sub」を設定するための以下のスニペットがあります。

@app.route(rule='/', subdomain='', strict_slashes=False)
def index():
    return "Index page"

@app.route(rule='/', subdomain='sub', strict_slashes=False)
def sub():
    return "Subdomain working"

私の conf ファイルは次のように設定されています:

というconf ファイルがありmain.conf、これは基本的に他の conf ファイルを指すだけです。

 - mysite.net.httpd.conf
 - mysite.net.httpd.ssl.conf
 - sub.mysite.net.httpd.conf
 - sub.mysite.net.httpd.ssl.conf

中身は次の通りですmysite.net.httpd.ssl.conf:

<VirtualHost xx.xxx.xxx.xxx:443>
    ServerName mysite.net
    ServerAlias www.mysite.net
    ServerAdmin [email protected]
    WsgiDaemonProcess mysite user=apache group=apache threads=2
    WSGIScriptAlias / /home/user/web/mysite.net/wsgi.py
    <Directory /home/user/web/mysite.net/mysite/>
        Order allow,deny
        Allow from all
    </Directory>

    SSLEngine on
    SSLVerifyClient none
    ...

</VirtualHost>

、のためにsub.mysite.net.httpd.ssl.conf

<VirtualHost xx.xxx.xxx.xxx:443>
    ServerName sub.mysite.net
    ServerAdmin [email protected]
    WsgiDaemonProcess sub.mysite user=apache group=apache threads=2
    WSGIScriptAlias / /home/user/web/mysite.net/mysite/wsgi.py
    <Directory /home/user/web/mysite.net/mysite/mysite/>
        Order allow,deny
        Allow from all
    </Directory>

    SSLEngine on
    SSLVerifyClient none
    ...

    ErrorLog /var/log/httpd/sub_error_log
</VirtualHost>

DNS 設定にもこれを追加しました:

sub   A  xx.xxx.xxx.xxx

インデックスページは正常に動作していますが、アクセスしようとするとsub.mysite.netインデックスページと同じものが表示されます。

関連情報