仅第一个加载的 Django 站点有效

2024-05-18

我最近向 stackoverflow 提交了一个问题,标题为使用mod_wsgi在apache上多次请求后Django无限加载 https://stackoverflow.com/questions/71705909/django-infinite-loading-after-multiple-requests-on-apache-using-mod-wsgi。不管怎样,我最近改变了很多代码,现在我遇到了一个新问题。我请求的第一个 Django 网站可以工作,但是,第二个网站指向我加载的第一个网站并给出响应 DisallowedHost,因为显然它正在尝试使用不同的域名访问该 Django 应用程序。我显然希望它这样做,它应该这样做,如果有人能帮助我,那就太好了。这是我的全部代码。


EDIT:使用 Razenstein 的建议,我的网站现在停止运行,这意味着它们无法加载。

EDIT #2每次尝试连接到 neostorm.us.to (我的第一个网站)时,我都会收到此错误 [Sun Apr 03 19:26:58.563023 2022] [ssl:info] [pid 17528:tid 2116] [client 10.0.0.138:59334 ] AH01964:已建立与子 147 的连接(服务器 astinarts.uk.to:443)

EDIT #3还不走运,我已经用它更新了我的 XAMPP 版本,Apache,问题仍然存在。似乎没有人知道为什么会发生这种情况。我的Python版本如果没问题的话(3.10.4)

Vhosts

    LoadFile "C:/Users/taber/AppData/Local/Programs/Python/Python310/python310.dll"
    LoadModule wsgi_module "C:/Users/taber/AppData/Local/Programs/Python/Python310/lib/site-packages/mod_wsgi/server/mod_wsgi.cp310-win_amd64.pyd"
    WSGIPythonHome "C:/Users/taber/AppData/Local/Programs/Python/Python310"
    ##################################################################################################
    #                                       ASTINARTS.UK.TO VIRTUAL HOST                             #
    ##################################################################################################
    <VirtualHost *:443>
        ServerName astinarts.uk.to
        SSLEngine on
        SSLCertificateFile "conf/astinarts/astinarts.uk.to-chain.pem"
        SSLCertificateKeyFile "conf/astinarts/astinarts.uk.to-key.pem"
    
    Alias /static "C:/xampp/htdocs/astinarts/static"
    <Directory "C:/xampp/htdocs/astinarts/static">
        Require all granted
    </Directory>
    Alias /media "C:/xampp/htdocs/astinarts/media"
    <Directory "C:/xampp/htdocs/astinarts/media">
        Require all granted
    </Directory>
    Alias /.well-known "C:/xampp/htdocs/astinarts/.well-known"
    <Directory "C:\xampp\htdocs\astinarts\.well-known">
        Require all granted
    </Directory>
    Alias /sitemap.xml "C:/xampp/htdocs/astinarts/sitemap.xml"
    Alias /robots.txt "C:/xampp/htdocs/astinarts/robots.txt"
    <Directory "C:/xampp/htdocs/astinarts/astinarts">
        Require all granted
    </Directory>
    WSGIScriptAlias / "C:/xampp/htdocs/astinarts/astinarts/wsgi.py"
    <Directory "C:/xampp/htdocs/astinarts/astinarts">
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>
    </VirtualHost>
    ##################################################################################################
    #                                       NEOSTORM.US.TO VIRTUAL HOST                              #
    ##################################################################################################
    <VirtualHost *:443>
        ServerName neostorm.us.to
        SSLEngine on
        SSLCertificateFile "conf/ssl.crt/neostorm.us.to-chain.pem"
        SSLCertificateKeyFile "conf/ssl.key/neostorm.us.to-key.pem"
    Alias /static "C:/xampp/htdocs/neostorm/static"
    <Directory "C:/xampp/htdocs/neostorm/static">
        Require all granted
    </Directory>
    Alias /media "C:/xampp/htdocs/neostorm/media"
    <Directory "C:/xampp/htdocs/neostorm/media">
        Require all granted
    </Directory>
    Alias /sitemap.xml "C:/xampp/htdocs/neostorm/sitemap.xml"
    Alias /robots.txt "C:/xampp/htdocs/neostorm/robots.txt"
    WSGIScriptAlias / "C:/xampp/htdocs/neostorm/neostorm/wsgi_windows.py"
    <Directory "C:/xampp/htdocs/neostorm/neostorm">
        <Files wsgi_windows.py>
            Require all granted
        </Files>
    </Directory>
    ErrorLog "C:\xampp\apache\logs\neostorm_error.log"
    CustomLog "C:\xampp\apache\logs\neostorm_custom.log" common
    </VirtualHost>
    ##################################################################################################
    #                                   MAIL.NEOSTORM.US.TO VIRTUAL HOST                             #
    ##################################################################################################
    <VirtualHost *:443>
        ServerName mail.neostorm.us.to
        SSLEngine on
        SSLCertificateFile "conf/ssl.crt/neostorm.us.to-chain.pem"
        SSLCertificateKeyFile "conf/ssl.key/neostorm.us.to-key.pem"
        DocumentRoot "C:/xampp/htdocs/webmail"
        <Directory "C:/xampp/htdocs/webmail">
            Require all granted
        </Directory>
    </VirtualHost>

站点 1 WSGI 文件

    import os
    import sys
    from django.core.wsgi import get_wsgi_application
    from pathlib import Path
    
    # Add project directory to the sys.path
    path_home = str(Path(__file__).parents[1])
    if path_home not in sys.path:
        sys.path.append(path_home)
    
    os.environ['DJANGO_SETTINGS_MODULE'] = 'astinarts.settings'
    
    application = get_wsgi_application()

站点 2 WSGI 文件


    import os
    import sys
    from django.core.wsgi import get_wsgi_application
    from pathlib import Path
    
    # Add project directory to the sys.path
    path_home = str(Path(__file__).parents[1])
    if path_home not in sys.path:
        sys.path.append(path_home)
    
    os.environ['DJANGO_SETTINGS_MODULE'] = 'neostorm.settings'
    
    application = get_wsgi_application()

注意:我不知道下面的行为是否对于所有版本的 mod_wsgi 都相同以及错误是否已修复。我在 2020/2021 年在 Windows 中观察到了它。版本我记不清了。它从未出现在Ubuntu环境中。

如果您在 Windows Apache 中使用 mod_wsgi 的 virt 主机并定义 App..Group %{GLOBAL} ,则始终将 WSGIApplication 定义在第一个 (!!) virt 中。主机将被称为任何适合的服务器名称等。这一定是 mod_wsgi 或 Apache 中的错误。

<VirtualHost *:443>
    ServerName my_server_one.com
    ....
    WSGIApplicationGroup %{GLOBAL}
    ....
</VirtualHost>


<VirtualHost *:443>
    ServerName my_server_two.com
    ....
    WSGIApplicationGroup %{GLOBAL}
    ....
</VirtualHost>

解决方案:使用单独的显式组名称:

    
<VirtualHost *:443>
    ServerName my_server_one.com
    ....
    WSGIApplicationGroup my_app_one
    ....
</VirtualHost>



<VirtualHost *:443>
    ServerName my_server_two.com
    ....
    WSGIApplicationGroup my_app_two
    ....
</VirtualHost>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

仅第一个加载的 Django 站点有效 的相关文章

随机推荐