【问题标题】:SSL on Apache2 with WSGI [closed]带有 WSGI 的 Apache2 上的 SSL [关闭]
【发布时间】:2011-06-21 01:48:31
【问题描述】:

我正在尝试在我维护的 Django 站点上设置 SSL,但在使用 SSL 设置我的 VirtualHost 时遇到了一些麻烦。我遵循了here 的说明,但每次我尝试重新启动 apache 时,它​​都会告诉我它无法重新启动,因为多个虚拟主机使用相同的 wsgi 配置:

/etc/init.d/apache2 reload
Syntax error on line 33 of /etc/apache2/sites-enabled/www.mydomain.com:
Name duplicates previous WSGI daemon definition.
...fail!

我了解发生了什么,只是不知道如何解决。任何建议表示赞赏,谢谢!这是我的 VirutalHosts 文件的样子:

<VirtualHost *:80>
    ServerAdmin my@email.com
    ServerName mydomain.com
    ServerAlias www.mydomain.com
    DocumentRoot /sites/mydomain

    # WSGI Settings
    WSGIScriptAlias / /sites/mydomain/wsgi_handler.py
    WSGIDaemonProcess mydomain user=myuser group=mygroup processes=1 threads=1
    WSGIProcessGroup mydomain

    # Static Directories
    Alias /static /sites/mydomain/static/
    <Location "/static">
            SetHandler None
    </Location>

    Alias /img /sites/mydomain/img/
    <Location "/img">
            SetHandler None
    </Location>

</VirtualHost>

<VirtualHost *:443>
    ServerAdmin my@email.com
    ServerName mydomain.com
    ServerAlias www.mydomain.com
    DocumentRoot /sites/mydomain

    # WSGI Settings
    WSGIScriptAlias / /sites/mydomain/wsgi_handler.py
    WSGIDaemonProcess mydomain user=myuser group=mygroup processes=1 threads=1
    WSGIProcessGroup mydomain

    # Static Directories
    Alias /static /sites/mydomain/static/
    <Location "/static">
            SetHandler None
    </Location>

    Alias /img /sites/mydomain/img/
    <Location "/img">
            SetHandler None
    </Location>

    # SSL Stuff
    SSLEngine On
    SSLCertificateFile /etc/apache2/ssl/crt/vhost1.crt
    SSLCertificateKeyFile /etc/apache2/ssl/key/vhost1.key
    <Location />
            SSLRequireSSL On
            SSLVerifyClient optional
            SSLVerifyDepth 1
            SSLOptions +StdEnvVars +StrictRequire
    </Location>
</VirtualHost>

【问题讨论】:

    标签: ssl apache2 wsgi


    【解决方案1】:

    发帖希望对其他人有所帮助...

    我遇到这个错误是因为一个虚拟主机文件在启用站点的目录中被符号链接了两次。

    【讨论】:

    • 我很傻,我在启用站点的文件夹中粘贴了相同的 conf 文件以进行备份。谢谢!
    【解决方案2】:

    删除线:

    WSGIDaemonProcess mydomain user=myuser group=mygroup processes=1 threads=1
    

    来自 443 的 VirtualHost。该 VirtualHost 中 mydomain 的 WSGIProcessGroup 能够到达 80 中的 WSGIDaemonProcess 定义。

    换句话说,正如错误消息所暗示的那样,WSGIDaemonProcess 的名称,即“mydomain”,对于整个 Apache 服务器来说必须是唯一的。

    按指示跨 VirtualHosts 引用意味着站点的 HTTP 和 HTTPS 变体仍将在相同的守护进程组/解释器中运行。

    【讨论】:

      猜你喜欢
      • 2017-04-23
      • 2015-07-14
      • 1970-01-01
      • 1970-01-01
      • 2015-09-25
      • 2021-06-23
      • 2021-04-16
      • 1970-01-01
      • 2014-07-26
      相关资源
      最近更新 更多