কীভাবে অ্যাপাচে এসএসএল কনফিগার করবেন?


10

আমি RHEL 6 এ অ্যাপাচি ইনস্টল করেছি সবকিছু ঠিকঠাক চলছে। Https: // লোকালহোস্ট: 443 / ব্যবহার করতে সমস্ত পরিবর্তন এবং কনফিগারেশনগুলি কী করা উচিত ।

যদি আমি "শুনুন 80" কে 443 এ পরিবর্তন করি তবে এটি কোনও এসএসএল সংযোগ ত্রুটি করছে

"ত্রুটি 107 (নেট :: ERR_SSL_PROTOCOL_ERROR): SSL প্রোটোকল ত্রুটি" "

উত্তর:


13

আপনি যদি ব্যবহার করে থাকেন apache2তবে আপনাকে নিম্নলিখিতগুলি করতে হবে:

পদক্ষেপ 1: আপনার সাইটটি সুরক্ষিত করতে ব্যবহৃত কীগুলি তৈরি করতে ওপেনএসএসএল ব্যবহার করুন। আপনার নিরাপদ সাইটে ট্র্যাফিক এনক্রিপ্ট করে এবং ডিক্রিপ্ট করার সময় এই কীগুলি ব্যবহৃত হয়।

$ openssl genrsa -out mydomain.key 1024

এই কমান্ডটি একটি 1024 বিটের প্রাইভেট কী তৈরি করবে এবং এটি mydomain.key ফাইলটিতে রাখবে।

পদক্ষেপ 2: আপনার নিজের শংসাপত্র তৈরি করুন।

$ openssl req -new -key mydomain.key -x509 -out mydomain.crt

পদক্ষেপ 3: ডিরেক্টরিতে প্রাইভেট কীটি এবং ডিরেক্টরিতে /etc/apache2/ssl.key/শংসাপত্র রাখুন /etc/apache2/ssl.crt/

দ্রষ্টব্য:ssl.key ডিরেক্টরিটি কেবল রুট দ্বারা পঠনযোগ্য হবে।

পদক্ষেপ 4: এখন আপনাকে httpd.confফাইলটি সম্পাদনা করতে হবে /etc/apache2

এখন এই ফাইলটিতে এই জাতীয় সামগ্রী অন্তর্ভুক্ত করা উচিত:

NameVirtualHost *:80
NameVirtualHost *:443
Listen 443

<VirtualHost *:80>
ServerAdmin webmaster@mydomain.com
DocumentRoot /srv/www/htdocs/mydomain
ServerName www.mydomain.com
ServerAlias mydomain.com
</VirtualHost>


<VirtualHost *:443>
ServerAdmin webmaster@mydomain.com
DocumentRoot /srv/www/htdocs/mydomain-secure
ServerName mail.mydomain.com
SSLEngine on
SSLCertificateFile /etc/apache2/ssl.crt/mydomain.crt
SSLCertificateKeyFile /etc/apache2/ssl.key/mydomain.key
</VirtualHost>


<Directory /srv/www/htdocs/mydomain-secure>
SSLRequireSSL
</Directory>


<VirtualHost *:80>
ServerAdmin webmaster@mydomain.com
DocumentRoot /srv/www/htdocs/mydomain
ServerName mail.mydomain.com
RedirectMatch permanent (/.*) https://mail.mydomain.com$1
</VirtualHost>

প্রথম তিনটি লাইন প্রয়োজন হয় না। ১. NameVirtualHostহ্রাস করা হয়েছে এবং অ্যাপাচি-র ভবিষ্যতের সংস্করণগুলিতে সরানো হবে। এটি বর্তমানে ইতিমধ্যে কোনও অপশন নেই। ২. Listen 443443 পোর্টে শুনার জন্য যদি অ্যাপাচি ইতিমধ্যে কনফিগার করা থাকে যা অনেকগুলি লিনাক্স বিতরণের ক্ষেত্রে ইতিমধ্যে সমস্যা রয়েছে 2. কেবলমাত্র যুক্ত করুন যদি আপনি নিশ্চিত হন যে এই লাইনটি অন্য কোথাও কনফিগার করা হয়নি।
ল্যানক্সিক্স

3

পরিবর্তন করবেন না Listen 80করার 443মধ্যে /etc/httpd/conf/httpd.conf। এসএসএলটি কনফিগার করা আছে /etc/httpd/conf.d/ssl.conf। RHEL 6 এ, এসএসএল সক্ষম হয়ে থাকে এবং স্ব স্বাক্ষরিত শংসাপত্রের সাথে ডিফল্টরূপে শোনানো হয়।

আপনি কেবল ব্রাউজ করে এসএসএল ব্যবহার করে ডিফল্ট সাইটে যেতে পারেন https://localhost(ইউআরএল শেষে আপনার পোর্টটি যুক্ত করার দরকার নেই)।

আপনি যদি এইচটিটিপি র সমস্ত অনুরোধ এইচটিটিপিএস-এ ফরোয়ার্ড করতে চান (যা আমি বিশ্বাস করি যে আপনি অর্জন করার চেষ্টা করছেন), আপনি হয় স্থায়ী পুনঃনির্দেশ যুক্ত করতে পারেন, বা অ্যাপাচি মডিউলটি ব্যবহার করতে পারেন mod_rewrite

সবচেয়ে সহজ এবং সর্বাধিক সুরক্ষিত উপায় হ'ল স্থায়ী পুনঃনির্দেশ সেট আপ করা। নামযুক্ত ভার্চুয়াল হোস্টগুলিকে সক্ষম করুন এবং ভার্চুয়ালহোস্ট ইন-এ একটি Redirectনির্দেশিকা যুক্ত করুন /etc/httpd/conf/httpd.conf

NameVirtualHost *:80
<VirtualHost *:80>
   ServerName localhost
   Redirect permanent / https://localhost
</VirtualHost>

ব্যবহার করে mod_rewrite, আপনি একটি নামী ভার্চুয়াল হোস্টও তৈরি করেন। এটি প্রস্তাবিত পদ্ধতি নয়, তবে কাজ করবে।

NameVirtualHost *:80
<VirtualHost *:80>
   # Enable the Rewrite engine
   RewriteEngine On
   # Make sure the connection is not already HTTPS
   RewriteCond %{HTTPS} !=on
   # This rewrites the URL and forwards to https
   RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>

আপনি যদি এসএসএল বন্ধ করতে চান তবে এই লাইনগুলিতে মন্তব্য করুন /etc/httpd/conf.d/ssl.confএবং অ্যাপাচি পুনরায় চালু করুন।

LoadModule ssl_module modules/mod_ssl.so
Listen 443

প্রকৃতপক্ষে, আপনি যদি RHEL6 এর জন্য mod_ssl প্যাকেজটি যুক্ত করেন তবে এটি একটি /etc/httpd/conf.d/ssl.conf তৈরি করে, যা মডিউলটি লোড করে এবং <VirtualHost _default_:443>প্রয়োজনীয় পরামিতিগুলির সাথে, প্রতিটি মন্তব্যে সেট করে। mod_sslযদি আপনি ইনস্টল প্যাকেজ স্বয়ংক্রিয়ভাবে ইনস্টল করা নেই httpdপ্যাকেজ।
jsbillings

1
আমি আপনার পুনর্লিখনের সাথে কেবল একটি জিনিস যুক্ত করতে চাই: [R=301,L]ঠিক পরিবর্তে ব্যবহার করুন [R,L], এইভাবে পুনর্লিখনটি HTTP 3xx স্থিতি কোডগুলির স্থায়ী বিকল্পটি ব্যবহার করছে ।
দাসতরী
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.