Назад | Перейти на главную страницу

Настройка поддомена для ответа: 443 с apache2

Я прочитал несколько руководств по этому поводу и считаю, что apache может отвечать на поддомен через ssl. У меня есть domain.com, отвечающий на 80, и мне не нужно, чтобы domain.com отвечал на 443. Скорее, я использую только ssl для поддомена sub.domain.com.

Так что мой сайт должен быть

http://domain.com
http://www.domain.com
https://sub.domain.com
https://www.sub.domain.com

Мои записи CNAME следующие

  sub.domain.com xxx.xx.xx.xxx
  *.sub.domain.com xxx.xx.xx.xxx

Запись A существует, но не имеет значения для примера.

Я установил отдельный файл конфигурации на сайтах с поддержкой sub.domain.com

NameVirtualHost xxx.xx.xx.xxx:443

<VirtualHost xxx.xx.xx.xxx:443>
    SSLEngine on
    SSLStrictSNIVHostCheck on
    SSLProtocol -ALL +SSLv3 +TLSv1
    SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:-MEDIUM

    ServerAlias sub.domain.com

    DocumentRoot /usr/local/www/ssl/documents/

    SSLCertificateFile /root/sub.domain.com.crt
    SSLCertificateKeyFile /root/sub.domain.com.key


    Alias /robots.txt /usr/local/www/ssl/documents/robots.txt
    Alias /favicon.ico /usr/local/www/ssl/documents/favicon.ico

    Alias /js/libs /usr/local/www/ssl/documents/js/libs
    Alias /media/ /usr/local/www/documents/media/
    Alias /img/ /usr/local/www/ssl/documents/img/
    Alias /css/ /usr/local/www/ssl/documents/css/

    <Directory /usr/local/www/ssl/documents/>
    Order allow,deny
    Allow from all
    </Directory>

    WSGIDaemonProcess sub.domain.com processes=2 threads=7 display-name=%{GROUP}
    WSGIProcessGroup sub.domain.com

    WSGIScriptAlias / /usr/local/www/wsgi-scripts/script.wsgi

    <Directory /usr/local/www/wsgi-scripts>
    Order allow,deny
    Allow from all
    </Directory>
</VirtualHost>

Теперь важно отметить, что https://domain.com отвечает тем, что я запустил из script.wsgi выше, а не на https://sub.domain.com. Он не отвечает на sub.domain.com. проверка https://sub.domain.com вызывает ошибку 105. Это ошибка DNS, но я убежден, что у DNS нет проблем с записями CNAME, они просто указывают на мой IP. Я делаю то, что не может сделать Apache?

Вы не используете CNAME для указания DNS-имени на IP-адрес. Здесь вам понадобится запись A. Вы можете использовать CNAME только для указания канонического имени на другое каноническое имя:

ЗАПИСЬ CNAME:

host.server.com ---> 2ndHost.server.com

ЗАПИСЬ:

server.com ---> 192.0.2.23

Или вы можете использовать DNAME, запись DNAME создает псевдоним для одного или нескольких поддоменов домена. Напротив, запись CNAME создает псевдоним только для одного имени.