Sebenarnya, Anda tidak perlu rantai untuk SSL berfungsi.
Yang selalu Anda butuhkan adalah SSLCertificateFile
dengan SSLCertificateKeyFile
kunci yang benar untuk sertifikat itu.
Masalahnya adalah, jika semua yang Anda berikan kepada Apache adalah sertifikat, maka yang harus diberikan untuk menghubungkan klien adalah sertifikat - yang tidak menceritakan keseluruhan cerita tentang sertifikat SSL itu. Itu mengatakan, "Saya ditandatangani oleh seseorang, tetapi saya tidak akan memberi tahu Anda tentang mereka".
Ini biasanya berfungsi dengan baik, karena sebagian besar sistem klien memiliki penyimpanan besar sertifikat CA (baik root maupun intermediate) yang dapat diperiksa melalui hubungan penandatanganan yang cocok untuk membangun kepercayaan. Namun, terkadang ini tidak berhasil; paling sering masalah yang akan Anda hadapi adalah klien yang tidak memegang sertifikat untuk CA perantara yang menandatangani sertifikat Anda.
Di situlah rantai masuk; itu memungkinkan Apache menunjukkan kepada klien persisnya seperti apa hubungan kepercayaan itu, yang dapat membantu klien mengisi kekosongan antara sertifikat Anda, root yang mereka percayai, dan perantara yang tidak mereka ketahui. Rantai dapat dimasukkan dalam konfigurasi Anda dalam salah satu dari dua cara:
- Disematkan dalam file yang sama seperti yang Anda atur untuk Anda
SSLCertificateFile
, pada baris baru setelah sertifikat server berurutan (root harus di bagian bawah). Jika Anda mengaturnya seperti ini, Anda akan ingin SSLCertificateChainFile
menunjuk ke file yang sama persis SSLCertificateFile
.
- Dalam file terpisah yang dikonfigurasi dalam
SSLCertificateChainFile
arahan; sertifikat CA yang mengeluarkan sertifikat server harus menjadi yang pertama dalam file, diikuti oleh yang lainnya sampai ke root.
Periksa file sertifikat yang Anda miliki sekarang - Saya yakin tidak ada data berantai yang disertakan. Yang biasanya berfungsi dengan baik, tetapi pada akhirnya akan menyebabkan masalah dengan beberapa browser atau lainnya.
/etc/ssl
,/usr/local/etc/ssl
atau dissl
tertentu subdirektori ke situs web (misalnya/home/www/example.com/data
telah website makahome/www/example.com/ssl
memiliki sertifikat).