Apache - 2 поддомена, без подстановочного SSL-сертификата

Apache - 2 поддомена, без подстановочного SSL-сертификата

У меня есть поддомен, имеющий SSL-сертификат, который отлично работает. Веб-адрес для него, скажем, такой: sd1.mydomain.com(sd1=sub-domain 1). Теперь я хочу добавить второй поддомен, но ему не нужен сертификат, шифрующий данные. Таким образом, я хочу:sd2.mydomain.com

Я настроил свой sites-enabledкаталог так, чтобы в нем было два файла конфигурации, по одному для каждого поддомена. Файл конфигурации для первого и рабочего поддомена выглядит так (изменяя фактический домен на "mydomain", очевидно):

<VirtualHost *:443>

    SSLEngine on
    SSLProtocol all
    SSLCertificateFile /usr/local/ssl/crt/certificate.crt
    SSLCertificateKeyFile /usr/local/ssl/crt/sd1.mydomain.com
    SSLCertificateChainFile /usr/local/ssl/crt/intermediate.crt
    ServerAdmin [email protected]
    ServerName https://sd1.mydomain.com

    AliasMatch ^/([^/]*\.css) /srv/www/cpm/static_media/css/$1
    Alias /static_media/ /srv/www/cpm/static_media/
    Alias /static/admin/ /usr/local/lib/python2.6/dist-packages/django/contrib/admin/media/
    Alias /favicon.ico "/srv/www/cpm/static_media/img/favicon.ico"


    <Directory /srv/www/cpm/static_media/>
        Options -Indexes
        Order deny,allow
        Allow from all
        deny from 219.0.0.0/8

    </Directory>

    WSGIScriptAlias / /srv/www/cpm/django.wsgi

    <Directory /srv/www/cpm>
        Options -Indexes
        Order deny,allow
        Allow from all
        deny from 219.0.0.0/8
    </Directory>

    ErrorLog /srv/www/logs/cpm_logs/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /srv/www/logs/cpm_logs/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

На этом сайте запущено веб-приложение Django, которое должно быть безопасным, и оно прекрасно работает.

Теперь я хочу создать второй веб-сайт, на самом деле WIKI, который НЕ должен быть безопасным, и поэтому я создал этот файл конфигурации для sd2.mydomain.com:

<VirtualHost *:80>

        ServerAdmin [email protected]
        ServerName http://sd2.mydomain.com

        DocumentRoot /srv/www/wiki/public_html/

              <Directory />
                  Options FollowSymLinks
                  AllowOverride None
              </Directory>

              <Directory /srv/www/wiki/public_html/>
                  Options Indexes FollowSymLinks MultiViews
                  AllowOverride All
                  Order allow,deny
                  allow from all
              </Directory>


              ErrorLog /var/log/apache2/error.log

              # Possible values include: debug, info, notice, warn, error, crit,
              # alert, emerg.
              LogLevel warn

              CustomLog /var/log/apache2/access.log combined

              Alias /doc/ "/usr/share/doc/"
              <Directory "/usr/share/doc/">
                  Options Indexes MultiViews FollowSymLinks
                  AllowOverride None
                  Order deny,allow
                  Deny from all
                  Allow from 127.0.0.0/255.0.0.0 ::1/128
              </Directory>

</VirtualHost>

У меня его там нет NameVirtualHost, потому что я пытаюсь заставить каждый сайт работать по отдельности, прежде чем запускать их оба одновременно. (Я активирую только один за раз)

Моя проблема в том, что когда я открываю браузер и пытаюсь зайти на http://sd2.mydomain.comсайт, он просто не загружается, и в журнале ошибок нет ничего, что говорило бы мне, что что-то идет не так. Однако, если я добавляю все то же самое SSLв свой sd2.mydomain.comфайл конфигурации, второй сайтделаетработает, но мне нужно перейти на , https://sd2.mydomain.comчтобы он заработал, и, очевидно, сертификат SSL не проходит.

Что я делаю не так? Мне кажется, что все настройки верны, поскольку нет никаких ошибок. Что я упускаю?

Спасибо

решение1

Итак, какие порты слушает Apache, когда вы запускаете netstat -ntlp? Я заметил, что в вашем первом примере, похоже, нет виртуального хоста порта 80. Вы уверены, что у вас действительно установлен Apache с Listen 80? Или это было изменено, так что это только Listen 443?

Связанный контент