我正在尝试在我维护的Django站点上设置SSL,并且在使用SSL设置我的VirtualHost时遇到一些麻烦.我按照这里的说明操作,但每次尝试重新启动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!
Run Code Online (Sandbox Code Playgroud)
我理解发生了什么,而不是如何解决它.任何建议表示赞赏,谢谢!这是我的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>
Run Code Online (Sandbox Code Playgroud)
Gra*_*ton 48
删除行:
WSGIDaemonProcess mydomain user=myuser group=mygroup processes=1 threads=1
Run Code Online (Sandbox Code Playgroud)
来自VirtualHost for 443. VirtualHost中mydomain的WSGIProcessGroup能够覆盖80中的WSGIDaemonProcess定义.
换句话说,正如错误消息试图建议的那样,WSGIDaemonProcess的名称,即'mydomain',对于整个Apache服务器必须是唯一的.
如所示,在VirtualHosts之间引用意味着站点的HTTP和HTTPS变体仍将在相同的守护进程组/解释器中运行.
| 归档时间: |
|
| 查看次数: |
18571 次 |
| 最近记录: |