![Как создать виртуальный хост, работающий как с http, так и с https?](https://rvso.com/image/1284825/%D0%9A%D0%B0%D0%BA%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D1%82%D1%8C%20%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%20%D1%85%D0%BE%D1%81%D1%82%2C%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D1%8E%D1%89%D0%B8%D0%B9%20%D0%BA%D0%B0%D0%BA%20%D1%81%20http%2C%20%D1%82%D0%B0%D0%BA%20%D0%B8%20%D1%81%20https%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
Вам необходимо создать два виртуальных хоста следующим образом:
<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>
Первый — это обычный HTTP
хост, а второй обрабатывает ваш HTTPS
трафик.
решение2
Вы также, вероятно, захотите использовать Include
директиву, чтобы вам не пришлось дублировать конфигурацию между двумя вашими виртуальными хостами -http://httpd.apache.org/docs/2.2/mod/core.html#include.