অ্যাপাচি: এসএসএল সার্টিফিকেটকি ফাইলে: ফাইলটি বিদ্যমান নেই বা খালি রয়েছে


33

আমি এসএসএল এর জন্য কনফিগার করছি Apache 2। আমার সিস্টেম Ubuntu Server 10.04 LTS। আমার ভোস্ট কনফিগারেশনে এসএসএল সম্পর্কিত আমার নীচের সেটিংস রয়েছে:

SSLEngine On
SSLCertificateKeyFile /etc/ssl/private/server.insecure.key
SSLCertificateFile    /etc/ssl/certs/portal.selfsigned.crt

(পার্শ্ব নোট: আমি ব্যবহার করছি) .insecure কী ফাইলটি কারণ ফাইলটি পাসফ্রেজ-সুরক্ষিত নয়, এবং আমি পরিষ্কারভাবে দেখতে চাই যে এটি কোনও সুরক্ষিত কী ফাইল নয়)

সুতরাং, যখন আমি অ্যাপাচি পুনরায় চালু করি তখন আমি নীচের বার্তাটি পাই:

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-ডেটা এবং এসএসএল-সার্ট ব্যবহার করে মালিকানা পরিবর্তনের চেষ্টা করেছি। উবুন্টুতে কোনটি সঠিক তা আমি নিশ্চিত নই: ডিফল্টরূপে উবুন্টু এসএসএল-সার্টি ব্যবহার করে তবে অন্যদিকে অ্যাপাচি প্রক্রিয়া ব্যবহারকারী www-ডেটা দিয়ে চালিত হয়: এটি ব্যবহারকারী রুট দ্বারা শুরু করা হয়েছে, তবে কিছুটা www-ডেটাতে পরিবর্তন হয়েছে নির্দেশ করুন, এবং আমি নিশ্চিত নই যে শংসাপত্রগুলি কখন পড়বে।

তবে যাইহোক, গ্রুপের মালিক পরিবর্তন করা পরিস্থিতির উন্নতি করতে পারেনি। আমার প্রশ্নগুলি হ'ল:

  1. এই কাজটি করার জন্য আমি আর কী চেষ্টা করতে পারি?
  2. আমি কীভাবে যাচাই করতে পারি যে আমার কীফাইলটি একটি বৈধ কীফিল?
  3. কীফাইল এবং শংসাপত্র ( /etc/ssl/certs/portal.selfsigned.crt) এক সাথে কাজ করে তা আমি কীভাবে যাচাই করতে পারি ?

আমি মনে করি যে আপাচি একটি বিভ্রান্তিকর ত্রুটি বার্তা দিচ্ছে, এবং আমি ত্রুটিটি চিহ্নিত করতে চাই।


হ্যালো, আপনি এই প্রশ্নের উত্তর হিসাবে চিহ্নিত করতে পারেন?

2
আমার উল্লেখ করা উচিত যে আমি service apache2 restartপরিবর্তনের পরিবর্তে চালানোর প্রাথমিক ভুল থেকে এই ত্রুটি বার্তাটি পেয়েছি **sudo** service apache2 restart... sudo make me a sandwich fool
— স্বরে

আমি নীচের নিবন্ধটি খুব সহায়ক বলে মনে করি। আমি এই থ্রেড দ্বারা সিস্টেম সেটআপ করতে পারিনি।
— ডিজিটালওশন.com

উত্তর:


37

আমি ত্রুটিটি খুঁজে পেয়েছি। এটি কারণ আমি শংসাপত্রগুলি সেট আপ করতে একটি স্ক্রিপ্ট ব্যবহার করছি এবং আমি যে পদক্ষেপগুলি সম্পাদন করছি তা হ'লapache2ctl configtest । ত্রুটিটি এই আদেশ থেকে এসেছিল, এবং অ্যাপাচি পুনরায় আরম্ভ থেকে নয়, যা আমাকে বিভ্রান্ত করেছিল। যেহেতু আমি অ্যাপাচি 2 কেটিএল কমান্ডটি সাধারণ ব্যবহারকারীর হিসাবে চালাচ্ছি, এতে কী-ফাইলে অ্যাক্সেস ছিল না এবং এইভাবে ত্রুটি বার্তাটি।

সুবিধা: আপনার সমস্ত অ্যাপাচি কমান্ডগুলি সুডো দিয়ে চালানো হয়েছে তা নিশ্চিত করুন, এমনকি যেগুলি কেবলমাত্র সিনট্যাক্স যাচাইকরণের উদ্দেশ্যে করা হয়েছে ( apache2ctl), যেহেতু তাদের কীগুলিতে অ্যাক্সেসের প্রয়োজন নেই।


8

আমি বার্তাটিও পাই

SSLCertificateKeyFile: file '/path/to/file' does not exist or is empty

যখন /path/to/fileউপস্থিত রয়েছে এবং সঠিক অনুমতি রয়েছে, কেবলমাত্র সেলইনাক্স চালু হওয়ার কারণে এবং এই ফাইলটি অ্যাপাচি ব্যবহারকারীদের জন্য অ্যাক্সেসযোগ্য ছিল।

দেখে মনে হচ্ছে:

$ sudo ls -laZ /etc/pki/tls/certs/
drwxr-xr-x. root root system_u:object_r:cert_t:s0      .
drwxr-xr-x. root root system_u:object_r:cert_t:s0      ..
-rw-------. root root unconfined_u:object_r:cert_t:s0  this-one-works.crt
-rw-------. root root unconfined_u:object_r:admin_home_t:s0 this-one-is-unaccessable.crt

এটি ঠিক করার জন্য, আমি চালিয়ে যাচ্ছি sudo restorecon -Rv /etc/pki/tls/certs/- এটি সমস্যা ফাইলের জন্য SELinux সম্পত্তি মেরামত করবে।


এটি আমাকে সেই সার্ভারে উত্পন্ন নয় এমন কোনও
— শংসাপত্রের

2
sudo: restorecon: command not found
— ফ্রান্সিসকো

@FranciscoCorralesMorales restoreconএকটি অংশ policycoreutilsপ্যাকেজ। এছাড়াও আপনি সম্ভবত SELinux না?
— আন্তোনিওকে

6

আমি এটি করেছি এবং এটি আমাকে সেন্টোস ৫.7 এ সহায়তা করেছে

server:~ # chcon -t cert_t /etc/pki/tls/private/my.key 
server:~ # ls -laZ /etc/pki/tls/private/

1

আমি একটি অনুরূপ বার্তা পেয়েছি:

SSLCertificateChainFile: file '/opt/bitnami/apache2/conf/DigiCertCA.crt\xe2\x80\x9d' does not exist or is empty

আমার সমস্যাটি এমন পাঠ্য সম্পাদক ছিল যা আমি ব্যবহার করছিলাম একটি "ডান উদ্ধৃতি" ascii 148 পরিবর্তে একটি সাধারণ ডাবল উদ্ধৃতি ascii 34; ইউনিক্স-টাইপ এডিটর (যেমন টেক্সটরঙ্গলার) ব্যবহার করে ডান উক্তিটি রেখে সমস্যার সমাধান করেছেন।


0

অনুমতিগুলি ভুল, তবে আপনার উত্তর অনুসারে এটি সমস্যার কারণ ছিল না:

drwx--x--- 2 root www-data 4096 2012-08-07 13:02 /etc/ssl/private/

/ etc / ssl / বেসরকারী সাধারণত ডেবিয়ান ভিত্তিক সিস্টেমগুলিতে গ্রুপ ssl-cert এর অন্তর্গত।

মাত্র 0710 পার্সস লক্ষ্য করেছেন এবং এটি কীসের জন্য ব্যবহার করা যেতে পারে তা অবাক করে দিন।


আপনার সম্ভবত সঠিক, এটি কমপক্ষে 0750 হওয়া উচিত I আমি বিভিন্ন জিনিস চেষ্টা করে যাচ্ছি এবং আমি যে স্ট্যাটাস পোস্ট করেছি এটি সম্ভবত সবচেয়ে সঠিক নয়। রুট হিসাবে অ্যাপাচি 2 সিটিএল চালানো অবশ্যই আমার সমস্যার সমাধান করেছে।
— ডাঙ্গনফাস্ট

1
0710 ঠিক আছে, এটি অ্যাক্সেস করার জন্য আপনার ফাইলের নাম জানতে হবে।
— ypnos
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.