Вопрос Как создать виртуальный хост, который работает как с http, так и с https?


Вот как я установил виртуальный хост:

<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, но я не думаю, что это так важно.

Благодарю.


8
2017-07-31 19:31


происхождения




ответы:


Вам необходимо создать два виртуальных хоста таким образом:

<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 трафик.


7
2017-07-31 19:57



Есть ли способ переместить общий код в другой файл и # включить его, чтобы упростить обслуживание? - Ponkadoodle


Возможно, вы также захотите использовать Include поэтому вам не нужно дублировать конфигурацию между двумя вашими vhosts - http://httpd.apache.org/docs/2.2/mod/core.html#include,


1
2018-02-08 09:34