Kunci pribadi seharusnya memiliki bacaan yang sangat dibatasi. Menyetel izin ke 600
dan dimiliki oleh root
harus bekerja. Namun, ada pengaturan izin aman lainnya - Ubuntu menyimpan kunci di direktori dengan pemilik root
dan grup ssl-cert
dan izin 710
. Artinya hanya anggota ssl-cert
dapat mengakses file apa pun di direktori itu. Kunci pribadi kemudian memiliki grup ssl-cert
, pemilik root
, dan izin 640
.
Saya mengalami masalah saat menyiapkan nginx dan menemukan pertanyaan ini. Jawaban lain di sini sudah langsung menjawab pertanyaan tetapi saya pikir sedikit lebih banyak informasi akan sangat membantu.
Biasanya, nginx dimulai sebagai root
pengguna dengan skrip init / systemd. Namun, nginx juga memiliki kemampuan untuk beralih ke pengguna yang kurang beruntung untuk operasi normal. Jadi pertanyaan saya adalah pengguna mana yang digunakan untuk memuat sertifikat/kunci ssl? Pengguna dengan hak istimewa awal atau pengguna yang dialihkan?
Untungnya, nginx menggunakan izin awal untuk membaca sertifikat dan kunci ke dalam memori sebelum berpindah pengguna. Jadi, biasanya, Anda benar-benar dapat membiarkan kunci dengan izin yang sangat terbatas karena dimuat oleh nginx saat masih berjalan sebagai root
.
Masalah yang saya hadapi yang membawa saya ke sini adalah saya mendefinisikan ssl_certificate
hanya di server
saya blok di nginx.conf
. Saya mendapatkan error seperti [error] 18606#18606: *311 no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking
ketika saya tahu sangat baik dan baik bahwa kunci saya ada di tempat yang tepat. Masalah itu adalah saya tidak memiliki ssl_certificate
di http
tingkat nginx.conf
.
Semoga ini bermanfaat bagi seseorang.