Apache - 2 個子網域,無通配符 SSL 憑證

Apache - 2 個子網域,無通配符 SSL 憑證

我有一個子網域,它有一個運作良好的 SSL 憑證。比如說,它的網址是這樣的:sd1.mydomain.com(sd1=子網域 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 Web 應用程序,並且運作良好。

現在我想建立第二個網站,實際上是一個 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

相關內容