Subdomain-Setup für Flask + Apache

Subdomain-Setup für Flask + Apache

Ich habe Flask auf einem CentOS-Server installiert und bereitgestellt, aber die Subdomäne funktioniert aus irgendeinem Grund nicht richtig. Ich brauche dabei wirklich Hilfe. Ich bin auf diesem Gebiet eigentlich ein Neuling, also seien Sie bitte etwas nachsichtig.

Hier sind die Details:

  1. CentOS 7
  2. Python 3.6.4
  3. Apache/2.4.6 (CentOS)

Meine Flask-Anwendung ist folgendermaßen aufgebaut:

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

Und in views.py habe ich den folgenden Codeausschnitt, um die Subdomäne „sub“ einzurichten.

@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"

Meine Konfigurationsdateien sind wie folgt aufgebaut:

Ich habe eine Conf-Datei namens main.conf, die im Grunde nur auf die anderen Conf-Dateien verweist, und zwar:

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

Das ist drin 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>

,für 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>

Ich habe dies auch in den DNS-Einstellungen hinzugefügt:

sub   A  xx.xxx.xxx.xxx

Die Indexseite funktioniert einwandfrei, aber wenn ich versuche, sub.mysite.netdarauf zuzugreifen, wird nur das Gleiche angezeigt wie auf der Indexseite.

verwandte Informationen