ฉันกำลังกำหนดค่า SSL Apache 2
สำหรับ Ubuntu Server 10.04 LTS
ระบบของฉันคือ ฉันมีการตั้งค่าต่อไปนี้เกี่ยวข้องกับ SSL ในการกำหนดค่า vhost ของฉัน:
SSLEngine On
SSLCertificateKeyFile /etc/ssl/private/server.insecure.key
SSLCertificateFile /etc/ssl/certs/portal.selfsigned.crt
(หมายเหตุด้านข้าง: ฉันใช้.insecure
ไฟล์คีย์เนื่องจากไฟล์ไม่ได้รับการป้องกันวลีรหัสผ่านและฉันต้องการเห็นอย่างชัดเจนว่าเป็นไฟล์คีย์ที่ไม่ปลอดภัย)
ดังนั้นเมื่อฉันเริ่ม apache ฉันได้รับข้อความต่อไปนี้:
Syntax error on line 39 of /etc/apache2/sites-enabled/500-portal-https:
SSLCertificateKeyFile: file '/etc/ssl/private/server.insecure.key' does not exist or is empty
Error in syntax. Not restarting.
แต่ไฟล์อยู่ที่นั่นและไม่ว่างเปล่า (จริง ๆ แล้วมันมีไพรเวตคีย์):
sudo ls -l /etc/ssl/private/server.insecure.key
-rw-r----- 1 root www-data 887 2012-08-07 15:14 /etc/ssl/private/server.insecure.key
sudo ls -ld /etc/ssl/private/
drwx--x--- 2 root www-data 4096 2012-08-07 13:02 /etc/ssl/private/
ฉันลองเปลี่ยนความเป็นเจ้าของโดยใช้สองกลุ่ม www-data และ ssl-cert ฉันไม่แน่ใจว่าอันไหนที่ถูกต้องใน Ubuntu: โดยค่าเริ่มต้น Ubuntu ใช้ ssl-cert แต่ในทางกลับกันกระบวนการ apache ที่ทำงานกับผู้ใช้ www-data: มันเริ่มต้นโดยผู้ใช้ root แต่เปลี่ยนเป็น www-data ในบางส่วน ชี้ไปและฉันไม่แน่ใจว่าเมื่อใดจะอ่านใบรับรอง
แต่อย่างไรก็ตามการเปลี่ยนเจ้าของกลุ่มยังไม่ได้ปรับปรุงสถานการณ์ คำถามของฉันคือ:
- ฉันจะลองทำอะไรได้อีกบ้าง
- ฉันจะตรวจสอบว่า keyfile ของฉันเป็น keyfile ที่ถูกต้องได้อย่างไร
- ฉันจะตรวจสอบว่า keyfile และใบรับรอง (
/etc/ssl/certs/portal.selfsigned.crt
) ทำงานร่วมกันได้อย่างไร
ฉันคิดว่า Apache ให้ข้อความแสดงข้อผิดพลาดที่ทำให้เข้าใจผิดและฉันต้องการระบุข้อผิดพลาด
service apache2 restart
แทน**sudo** service apache2 restart
... หมายเหตุถึงตัวเอง:sudo make me a sandwich fool