Як створити віртуальний хост, який працює як з http, так і з https?


8

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

<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, але я не думаю, що це так важливо.

Дякую.

Відповіді:


7

Вам потрібно створити два віртуальних хости таким чином:

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


Чи є спосіб перенести загальний код в інший файл і #include його, щоб полегшити технічне обслуговування?
Ponkadoodle

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.