Làm cách nào để tạo một máy chủ ảo hoạt động với cả http và https?


8

Đây là cách tôi đã thiết lập một máy chủ ảo:

<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>

Với cấu hình này, tôi chỉ có thể xem trang web của mình bằng https chứ không phải http. Khi tôi tắt SSLEngine thì tôi không thể xem trang web của mình bằng https, nhưng http hoạt động tốt.

Làm cách nào tôi có thể điều chỉnh các dòng trên để tôi có thể xem trang web của mình bằng cả http và https?

Tôi đang sử dụng OSX Lion, nhưng tôi không nghĩ nó quan trọng đến thế.

Cảm ơn.

Câu trả lời:


7

Bạn cần tạo hai máy chủ ảo như vậy:

<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>

Đầu tiên là một HTTPmáy chủ thông thường , trong khi thứ hai xử lý HTTPSlưu lượng của bạn .


Có cách nào để di chuyển mã chung vào một tệp khác và #incolee nó để bảo trì dễ dàng hơn không?
Ponkadoodle

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.