HTTP + HTTPS를 통해 여러 하위 도메인을 제공하도록 Apache 구성

HTTP + HTTPS를 통해 여러 하위 도메인을 제공하도록 Apache 구성

2개의 공용 IPv4 주소를 사용하여 ISP에서 호스팅되는 가상 서버가 있습니다. Apache로 여러 하위 도메인(2개 이상)을 실행하고 HTTP와 HTTPS를 통해 서비스를 제공하고 싶습니다. SSL 인증서는 *.mydomain.com에 대한 와일드카드 인증서입니다.

Debian에서 Apache를 이런 식으로 구성하려고 시도했지만 실패했습니다. 내 가상 호스트가 허용되지 않거나 SSL 오류가 발생합니다. (아파치는 인증서를 제공하기 전에 요청된 호스트 이름을 볼 수 없지만 인증서에는 가능한 모든 하위 도메인이 포함되어 있음을 알고 있습니다.)

데비안의 Apache 구성 레이아웃에 가장 잘 작동하는 httpd.conf를 만드는 데 도움을 주세요.

모든 세부정보:

  • HTTP의 경우 *:80, HTTPS의 경우 *:443을 수신하는 Apache
  • 모든 NameVirtualHosts, 별칭 등은 두 포트/프로토콜에 대해 동시에 정의되어야 합니다.
  • 기본 mydomain.com 및 www.mydomain.com은 /var/www에 루트되어야 합니다.
  • 특별히 구성할 수 있는 foo.mydomain.com 및 bar.mydomain.com 등에 대한 추가 NameVirtualHosts(예: 다른 DocumentRoot를 갖도록 함)

답변1

아파치~할 수 있다다음을 사용하여 요청된 호스트 이름을 확인하세요.TLS 서버 이름 표시.

그러나 이를 위해서는 비교적 최신의 웹 브라우저가 필요합니다. 예를 들어, Windows XP에서 Internet Explorer를 사용하는 사용자는 추가 도메인에 대한 인증서 불일치 메시지를 받게 됩니다. (다행히 WinXP/IE 사용자는 거의 멸종되었습니다.)위키피디아 기사목록이 있고여기 테스트 페이지가 있어요확실하지 않다면.

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www
    <Directory /var/www/>
        Options Indexes FollowSymlinks MultiViews
    </Directory>
</VirtualHost>

NameVirtualHost *:443

<VirtualHost *:443>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www
    <Directory /var/www/>
        Options Indexes FollowSymlinks MultiViews
    </Directory>

    SSLEngine on
    SSLCertificateFile /etc/ssl/private/example.com.pem
</VirtualHost>

추가 (하위)도메인:

<VirtualHost *:80>
    ServerName foo.example.com
    DocumentRoot /sites/foo
</VirtualHost>

<VirtualHost *:443>
    ServerName foo.example.com
    DocumentRoot /sites/foo

    SSLEngine on
    SSLCertificateFile /etc/ssl/private/foo.example.com.pem
</VirtualHost>

관련 정보