Tôi có hai ruby trên rails 3 ứng dụng chạy trên cùng một máy chủ, (ubfox 10.04), cả hai đều có SSL.
Đây là tập tin cấu hình apache của tôi:
<VirtualHost *:80>
ServerName example1.com
DocumentRoot /home/me/example1/production/current/public
</VirtualHost>
<VirtualHost *:443>
ServerName example1.com
DocumentRoot /home/me/example1/production/current/public
SSLEngine on
SSLCertificateFile /home/me/example1/production/shared/example1.crt
SSLCertificateKeyFile /home/me/example1/production/shared/example1.key
SSLCertificateChainFile /home/me/example1/production/shared/gd_bundle.crt
SSLProtocol -all +TLSv1 +SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
</VirtualHost>
<VirtualHost *:80>
ServerName example2.com
DocumentRoot /home/me/example2/production/current/public
</VirtualHost>
<VirtualHost *:443>
ServerName example2.com
DocumentRoot /home/me/example2/production/current/public
SSLEngine on
SSLCertificateFile /home/me/example2/production/shared/iwanto.crt
SSLCertificateKeyFile /home/me/example2/production/shared/iwanto.key
SSLCertificateChainFile /home/me/example2/production/shared/gd_bundle.crt
SSLProtocol -all +TLSv1 +SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
</VirtualHost>
Vấn đề là gì:
Khi khởi động lại máy chủ của tôi, nó cung cấp cho tôi một số đầu ra như thế này:
* Restarting web server apache2
[Sun Jun 17 17:57:49 2012] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
... waiting [Sun Jun 17 17:57:50 2012] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
Về việc tại sao vấn đề này lại đến tôi lại nhận được một cái gì đó như thế này:
Bạn không thể sử dụng máy chủ ảo dựa trên tên với SSL vì bắt tay SSL (khi trình duyệt chấp nhận chứng chỉ của máy chủ Web bảo mật) xảy ra trước yêu cầu HTTP, xác định máy chủ ảo dựa trên tên phù hợp. Nếu bạn dự định sử dụng máy chủ ảo dựa trên tên, hãy nhớ rằng chúng chỉ hoạt động với máy chủ Web không bảo mật của bạn.
Nhưng không thể tìm ra cách chạy hai ứng dụng ssl trên cùng một máy chủ.
Ai giúp tôi với?
_default_
vhost nào trong cấu hình bạn đã cung cấp, vì vậy chúng ở nơi khác. Đầu ra củaapache2ctl -S
cái gì? (Có, có thể chạy nhiều vhost dựa trên tên SSL trên các chứng chỉ khác nhau, miễn là bạn không có nhu cầu hỗ trợ trình duyệt máy khách chạy Windows XP hoặc bất kỳ trình duyệt nào khác không hỗ trợ TLS SNI. Bạn có cần hỗ trợ Windows không XP?)