
正常に動作している SSL 証明書を持つサブドメインがあります。その Web アドレスは、たとえば次のようになります: sd1.mydomain.com
(sd1=sub-domain 1)。次に、2 番目のサブドメインを追加したいのですが、データを暗号化する証明書は必要ありません。したがって、次のようになります:sd2.mydomain.com
ディレクトリを調整して、sites-enabled
サブドメインごとに 1 つずつ、2 つの構成ファイルを持つようにしました。最初の、そして機能しているサブドメインの構成ファイルは次のようになります (実際のドメインを「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 アプリを実行しており、問題なく動作しています。
ここで、安全である必要のない 2 番目の 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
両方のサイトを同時に実行する前に、各サイトを個別に動作させようとしているため、そこにはありません。(一度にアクティブ化するのは 1 つだけです)
私の問題は、ブラウザを開いてサイトにアクセスしようとしても、サイトがロードされず、エラーログにも何か問題があることを示すものが何も表示されないことです。しかし、同じことを設定ファイルにhttp://sd2.mydomain.com
追加すると、2番目のサイトSSL
sd2.mydomain.com
する動作しますが、動作させるためには移動する必要がありhttps://sd2.mydomain.com
、当然ながら SSL 証明書は失敗します。
ここで何を間違えているのでしょうか? エラーがないので、すべての構成は正確であるように感じます。何が足りないのでしょうか?
ありがとう
答え1
では、 を実行するときに Apache はどのポートを listen しているのでしょうかnetstat -ntlp
? 最初の例では、ポート 80 仮想ホストがないようです。Apache が実際に で設定されていることを確認していますかListen 80
? それとも、 のみになるように変更されましたかListen 443
?