ฉันมีสอง ruby on Rails 3 แอปพลิเคชันที่ทำงานบนเซิร์ฟเวอร์เดียวกัน (Ubuntu 10.04) ทั้งสองด้วย SSL
นี่คือไฟล์ config apache ของฉัน:
<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>
มีปัญหาอะไร:
เมื่อรีสตาร์ทเซิร์ฟเวอร์จะให้ผลลัพธ์ดังนี้:
* 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
เมื่อ googling ว่าทำไมปัญหานี้กำลังจะมา
คุณไม่สามารถใช้ชื่อโฮสต์เสมือนที่ใช้ SSL ได้เนื่องจาก SSL handshake (เมื่อเบราว์เซอร์ยอมรับใบรับรองของเว็บเซิร์ฟเวอร์ที่ปลอดภัย) เกิดขึ้นก่อนคำขอ HTTP ซึ่งระบุชื่อโฮสต์เสมือนที่เหมาะสมตามชื่อ หากคุณวางแผนที่จะใช้โฮสต์เสมือนตามชื่อโปรดจำไว้ว่าพวกเขาจะทำงานกับเว็บเซิร์ฟเวอร์ที่ไม่ปลอดภัยของคุณเท่านั้น
แต่ไม่สามารถหาวิธีเรียกใช้แอปพลิเคชัน SSL สองตัวบนเซิร์ฟเวอร์เดียวกันได้
มีใครช่วยฉันได้บ้าง
_default_
vhosts ใด ๆในการกำหนดค่าที่คุณให้ดังนั้นจึงอยู่ที่อื่น ผลลัพธ์ของapache2ctl -S
อะไร (ใช่มีความเป็นไปได้ที่จะเรียกใช้ vhosts แบบหลายชื่อบนใบรับรองที่แตกต่างกันหากคุณไม่จำเป็นต้องสนับสนุนเบราว์เซอร์ไคลเอนต์ที่ใช้ Windows XP หรืออื่น ๆ ที่ไม่รองรับ TLS SNI คุณจำเป็นต้องรองรับ Windows XP?)