여러 IP 주소를 사용하여 여러 Apache SSL 사이트를 설정하는 방법

여러 IP 주소를 사용하여 여러 Apache SSL 사이트를 설정하는 방법

각각의 IP 주소에서 여러 HTTPS 사이트를 호스팅하도록 단일 Apache2 구성을 어떻게 설정합니까? 또한 단일 IP 주소에는 여러 개의 HTTP 사이트가 있습니다.

나는 사용하고 싶지 않다서버 이름 표시(SNI)설명한대로여기, 나는 중요한 최상위 Apache 지시문에만 관심이 있습니다. 즉, 내 구성이 어떻게 보여야 하는지에 대한 뼈대만 알면 됩니다.

기본 설정은 다음과 같습니다.

Hosted on 1.1.1.1:80 (HTTP)
  - example.com
  - example.net
  - example.org
Hosted on 2.2.2.2:443 (HTTPS)
  - secure.com
Hosted on 3.3.3.3:443 (HTTPS)
  - secure.net
Hosted on 4.4.4.4:443 (HTTPS)
  - secure.org

그리고 지금까지 가지고 있는 중요한 구성 지시문은 다음과 같습니다. 이는 작업 반복에 가장 가까운 것이지만 여전히 주사위는 없습니다. 거의 다 왔다는 걸 알아요. 올바른 방향으로 조금만 밀어주면 돼요.

Listen 1.1.1.1:80
Listen 2.2.2.2:443
Listen 3.3.3.3:443
Listen 4.4.4.4:443

NameVirtualHost 1.1.1.1:80
NameVirtualHost 2.2.2.2:443
NameVirtualHost 3.3.3.3:443
NameVirtualHost 4.4.4.4:443

# HTTP VIRTUAL HOSTS:

<VirtualHost 1.1.1.1:80>
    ServerName example.com
    DocumentRoot /home/foo/example.com
</VirtualHost>

<VirtualHost 1.1.1.1:80>
    ServerName example.net
    DocumentRoot /home/foo/example.net
</VirtualHost>

<VirtualHost 1.1.1.1:80>
    ServerName example.org
    DocumentRoot /home/foo/example.org
</VirtualHost>

# HTTPS VIRTUAL HOSTS:

<VirtualHost 2.2.2.2:443>
    ServerName secure.com
    DocumentRoot /home/foo/secure.com
    SSLEngine on
    SSLCertificateFile /home/foo/ssl/secure.com.crt
    SSLCertificateKeyFile /home/foo/ssl/secure.com.key
    SSLCACertificateFile /home/foo/ssl/ca.txt
</VirtualHost>

<VirtualHost 3.3.3.3:443>
    ServerName secure.net
    DocumentRoot /home/foo/secure.net
    SSLEngine on
    SSLCertificateFile /home/foo/ssl/secure.net.crt
    SSLCertificateKeyFile /home/foo/ssl/secure.net.key
    SSLCACertificateFile /home/foo/ssl/ca.txt
</VirtualHost>

<VirtualHost 4.4.4.4:443>
    ServerName secure.org
    DocumentRoot /home/foo/secure.org
    SSLEngine on
    SSLCertificateFile /home/foo/ssl/secure.org.crt
    SSLCertificateKeyFile /home/foo/ssl/secure.org.key
    SSLCACertificateFile /home/foo/ssl/ca.txt
</VirtualHost>

그만한 가치가 있기 때문에 저는 기본 VHOST IP에 SSL 사이트 중 하나를 포함하는 대신 각 SSL 사이트를 자체 IP에 두는 것을 선호합니다. 표준 설정을 보여주는 모든 링크는 환영받을 것입니다!

답변1

Apache를 다시 시작하고 다시 로드하지 마십시오. 새로 구성된 SSL 인증서는 다시 로드 시 로드되지 않습니다.

지시어를 삭제하세요 NameVirtualHost ...:443. SNI를 하고 있을 때만 원할 것입니다.

그리고 예, NameVirtualHost 1.1.1.1:80지시어를 유지하십시오. 포트 80 호스트는 요청이 호스트 헤더를 기반으로 라우팅되려면 해당 지시어가 필요합니다.

관련 정보