2017-12-13 33 views
0

, I는 다음과 같습니다 (약칭 함) /etc/apache2/sites-enabled/000-default.conf에서 아파치의 conf 파일이 있습니다Certbot Apache 오류 "이름이 이전 WSGI 데몬 정의와 중복됩니다." 내 우분투 16.04 서버에서

WSGIApplicationGroup %{GLOBAL} 

<VirtualHost *:80> 
    ServerName example.com 
    WSGIDaemonProcess myprocess user=ubuntu group=ubuntu threads=10 home=/home/ubuntu/myapp 
    WSGIProcessGroup myprocess 
    ... 
</VirtualHost> 

그것은 HTTP 모드에서 잘 작동하지만을 나는 HTTPS를 설정하는 $ sudo certbot --apache를 실행하면 Syntax error on line 7 of /etc/apache2/sites-enabled/000-default.conf: Name duplicates previous WSGI daemon definition. 오류와 함께 실패합니다. 줄 7은 WSGIDaemonProcess으로 시작하는 줄입니다.

답변

0

오류로 인해 WSGIDaemonProcess 정의에 동일한 이름을 두 번 이상 사용할 수 없습니다. 그것들은 전체 Apache 인스턴스에 대해 고유해야합니다.

ServerName에 대해 VirtualHost의 인스턴스가 80 개 및 443 개있는 경우 443 인스턴스에 별도의 WSGIDaemonProcess을 만들지 않아야합니다. 80 인스턴스에서 정의하고 443 인스턴스에서 이름으로 참조하십시오. 그렇게하면 동일한 ServerName에 대해 VirtualHost의 인스턴스 80 개와 443 개 사이에서 동일한 디먼 프로세스 그룹을 공유하게됩니다.

WSGIApplicationGroup %{GLOBAL} 
WSGIRestrictEmbedded On 

<VirtualHost *:80> 
ServerName example.com 
WSGIDaemonProcess myprocess threads=10 home=/home/ubuntu/myapp 
WSGIProcessGroup myprocess 
... 
</VirtualHost> 

<VirtualHost *:443> 
ServerName example.com 
WSGIProcessGroup myprocess 
... 
</VirtualHost> 
+0

가장 큰 문제는 가능한 한 자동으로 Certbot을 실행시키는 것입니다. 이를 위해서''밖에서'WSGIDaemonProcess'를 정의해도 괜찮습니까? 추신 'mod_wsgi' 아키텍트가 내 질문에 답을 얻는 것은 꽤 멋지다! – Josh

+0

네,''VirtualHost'' 밖에서''WSGIDaemonProcess'' 지시자를 넣을 수 있습니다. –

0

그것은 내 아파치의 conf 파일 000-default.conf<VirtualHost *:80>...</VirtualHost>을 선언하는 경우, 다음 Certbot 그것을 복제 및 <VirtualHost *:443>...</VirtualHost>을 정의 할 수 000-default-le-ssl.conf라는 아파치의 conf 파일을 만듭니다 것으로 나타났다.

모두 아파치 conf 파일의 정의 라인이 WSGIDaemonProcess myprocess... 인 경우 Name duplicates previous WSGI daemon definition 오류가 나타납니다. 이것은 known Certbot bug 인 것으로 보입니다.

같은 아파치의 conf 파일 (그래서 Certbot 두 번째 파일을 작성하지 않습니다) 모두에서 VirtualHost (80, 443)를 정의하고, 모두에서 VirtualHost 외부 WSGIDaemonProcess을 정의하는 데에 내가 찾은 해결 방법은 다음과 같이하십시오 :

WSGIApplicationGroup %{GLOBAL} 
WSGIDaemonProcess myprocess user=ubuntu group=ubuntu threads=10 home=/home/ubuntu/myapp 
WSGIProcessGroup myprocess 

<VirtualHost *:80> 
    ServerName example.com 
    ... 
</VirtualHost> 
<VirtualHost *:443> 
    ServerName example.com 
    ... 
</VirtualHost>