다른 도메인의 Apache 2 인증서

다른 도메인의 Apache 2 인증서

Apache 서비스가 설정되어 있습니다. 예제 도메인은 domain1.com 및 domain2.com입니다.

내 ssl.conf(etc/apache2/modes-enabled/ssl.conf)

NameVirtualHost *:443
<VirtualHost 172.17.0.122:443>
ServerAdmin [email protected]
DocumentRoot /var/www/domain1.com/htdocs
ServerName domain1.com:443
SSLEngine On
SSLProtocol all
SSLCertificateFile    /var/ssl/domain1/domain1.crt
SSLCertificateKeyFile /var/ssl/domain1.key
SSLCertificateChainFile /var/ssl/intermediate.crt
</VirtualHost>

<VirtualHost 172.17.0.123:443>
ServerAdmin [email protected]
DocumentRoot /var/www/domain2.com/htdocs/
ServerName domain2.com:443
SSLEngine On
SSLProtocol all
SSLCertificateFile    /var/ssl/domain2/domain2.crt
SSLCertificateKeyFile /var/ssl/domain2.key
SSLCertificateChainFile /var/ssl/intermediate.crt
</VirtualHost>

도메인 1은 http 및 https에서 작동하고 도메인 2 https는 도메인 1 페이지를 표시하기 때문에 도메인 2는 http에서만 작동합니다. 서버에 2개의 IP가 있습니다.

도메인 1의 가상 호스트(etc/apache2/sites-enabled/domain1.com):

<VirtualHost *>
        ServerAdmin [email protected]
       ServerName  www.domain1.com
        ServerAlias domain1.com

    # Indexes + Directory Root.
    DirectoryIndex index.php
    DocumentRoot /var/www/domain1.com/htdocs/

    # CGI Directory
    ScriptAlias /cgi-bin/ /var/www/domain1.com/cgi-bin/
    <Location /cgi-bin>
            Options +ExecCGI
    </Location>


    # Logfiles
    ErrorLog  /var/www/domain1.com/logs/error.log
    CustomLog /var/www/domain1.com/logs/access.log combined
</VirtualHost>

apache2ctl -S는 다음을 보여줍니다.

VirtualHost configuration: 
172.17.0.122:443 www.domain1.com (/etc/apache2/mods-enabled/ssl.conf:77)
 wildcard NameVirtualHosts and _default_ servers: 
*:* is a NameVirtualHost default server www.domain3.com (/etc/apache2/sites-enabled/domain3.com:1) 
port * namevhost www.domain3.com (/etc/apache2/sites-enabled/domain3.com:1)
port * namevhost www.domain2.com (/etc/apache2/sites-enabled/domain2.com:1)
port * namevhost www.domain1.com (/etc/apache2/sites-enabled/domain1.com:1)

domain1 https를 올바르게 표시하는 구성입니다.

답변1

:443ServerName 섹션에서 제거되었습니다. 다음과 같은 경우 이름의 일부로 간주됩니다.아니요VirtualHost ServerName 항목이 일치하고 Apache가 찾은 첫 번째 VirtualHost 사이트를 제공합니다.

편집하다이런. 또한 귀하의 진술이 NameVirtualHost귀하의 연과 VirtualHost대조되기 때문에 자세히 살펴보십시오.

해당 주소를 사용하는 여러 VHost가 있을 것이라고 선언한 *:443다음 VHost를 에 지정합니다 172.16.0.123:443. 이는 서로 다른 주소이므로 Apache는 이를 인식하지 못합니다.

진술을 변경 NameVirtualHost하거나 <VirtualHost>일치하도록 구절을 수정하십시오.

관련 정보