![http と https の両方で動作する仮想ホストを作成するにはどうすればよいですか?](https://rvso.com/image/1284825/http%20%E3%81%A8%20https%20%E3%81%AE%E4%B8%A1%E6%96%B9%E3%81%A7%E5%8B%95%E4%BD%9C%E3%81%99%E3%82%8B%E4%BB%AE%E6%83%B3%E3%83%9B%E3%82%B9%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
仮想ホストを設定する方法は次のとおりです。
<VirtualHost mysite>
<Directory "/Users/myusername/sitefolder">
Options +FollowSymlinks
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
DocumentRoot "/Users/myusername/sitefolder"
ServerName mysite
SSLEngine on
SSLCertificateFile /Users/myusername/certs/server.crt
SSLCertificateKeyFile /Users/myusername/certs/server.key
</VirtualHost>
この設定では、サイトは https でのみ表示でき、http では表示できません。SSLEngine をオフにすると、https ではサイトを表示できなくなりますが、http では正常に動作します。
http と https の両方を使用してサイトを表示できるように上記の行を調整するにはどうすればよいですか?
私は OSX Lion を使用していますが、それほど問題ではないと思います。
ありがとう。
答え1
次のように 2 つの仮想ホストを作成する必要があります。
<VirtualHost mysite:80>
<Directory "/Users/myusername/sitefolder">
Options +FollowSymlinks
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
DocumentRoot "/Users/myusername/sitefolder"
ServerName mysite
</VirtualHost>
<VirtualHost mysite:443>
<Directory "/Users/myusername/sitefolder">
Options +FollowSymlinks
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
DocumentRoot "/Users/myusername/sitefolder"
ServerName mysite
SSLEngine on
SSLCertificateFile /Users/myusername/certs/server.crt
SSLCertificateKeyFile /Users/myusername/certs/server.key
</VirtualHost>
1 つ目は通常のHTTP
ホストであり、2 つ目はHTTPS
トラフィックを処理します。
答え2
Include
また、2つの仮想ホスト間で設定を重複させないように、ディレクティブを使用することをお勧めします。詳しくは、http://httpd.apache.org/docs/2.2/mod/core.html#include を参照してください。。