Saya memiliki dua aplikasi ruby on rails 3 yang berjalan di server yang sama, (ubuntu 10.04), keduanya dengan SSL.
Ini file konfigurasi apache saya:
<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>
Apa masalahnya:
Saat me-restart server saya itu memberi saya beberapa output seperti ini:
* 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
Tentang googling mengapa masalah ini datang, saya mendapat sesuatu seperti ini:
Anda tidak dapat menggunakan host virtual berbasis nama dengan SSL karena handshake SSL (ketika browser menerima sertifikat server Web aman) terjadi sebelum permintaan HTTP, yang mengidentifikasi host virtual berbasis nama yang sesuai. Jika Anda berencana untuk menggunakan host virtual berbasis nama, ingatlah bahwa mereka hanya bekerja dengan server Web Anda yang tidak aman.
Tetapi tidak dapat menemukan cara menjalankan dua aplikasi ssl di server yang sama.
Ada yang bisa bantu saya?
sumber
_default_
vhost di konfigurasi yang Anda berikan, jadi vhost ada di tempat lain. Apa output dariapache2ctl -S
? (Ya, adalah mungkin untuk menjalankan beberapa vhosts berbasis nama SSL pada sertifikat yang berbeda, asalkan Anda tidak perlu mendukung browser klien yang menjalankan Windows XP atau yang lain yang tidak mendukung TLS SNI. Apakah Anda perlu mendukung Windows XP?)Jawaban:
Hampir sampai!
Tambahkan ini ke ports.conf atau http.conf dan pertahankan konfigurasi Anda di atas.
sumber
Ini membantu saya menjalankan "/ usr / sbin / apachectl -S" juga. Perintah ini keluar menunjukkan DUA file "ssl.conf" di jalur yang sama. Memindahkan atau menghapus file pelaku dan semuanya akan berfungsi setelahnya.
sumber
Anda dapat menambahkan ini ke konfigurasi apache Anda di
/etc/apache2/ports.conf
:(Ini berfungsi di keduanya: apache 2.2 dan 2.4)
sumber