উত্তর:
আমি কেবল এটি চেষ্টা করেছি - আমার উইন্ডোজটিতে স্থানীয় লোকাল হোস্ট অ্যাপাচে কিছু বিকাশ কোড পরীক্ষা করা দরকার । এটি যতটা হওয়া উচিত তার চেয়েও কঠিন ছিল। তবে বেশ কয়েকটি চুল কাটার পরে কাজ করতে সক্ষম হওয়া পদক্ষেপগুলি এখানে ...
আমি দেখতে পেয়েছি যে আমার অ্যাপাচি ইনস্টলটি আসে openssl.exe
যা সহায়ক is আপনার যদি অনুলিপি না থাকে তবে আপনার এটি ডাউনলোড করা দরকার। আমার অনুলিপি Apache2\bin
ফোল্ডারে ছিল যা আমি নীচে এটি উল্লেখ করি।
পদক্ষেপ:
Apache2\conf
ফোল্ডারে একটি কমান্ড প্রম্পট খুলুন..\bin\openssl req -config openssl.cnf -new -out blarg.csr -keyout blarg.pem
আপনি বাদে সমস্ত প্রশ্ন ফাঁকা রাখতে পারেন:
এটি সম্পূর্ণ হলে টাইপ করুন
..\bin\openssl rsa -in blarg.pem -out blarg.key
টাইপ করে আপনার স্ব-স্বাক্ষরিত শংসাপত্র তৈরি করুন:
..\bin\openssl x509 -in blarg.csr -out blarg.cert -req -signkey blarg.key -days 365
অ্যাপাচের conf\httpd.conf
ফাইল খুলুন এবং এসএসএল মডিউল সক্ষম হয়েছে তা নিশ্চিত করুন - এই লাইনটির শুরুতে কোনও হ্যাশ থাকা উচিত নয়:
LoadModule ssl_module modules/mod_ssl.so
কিছু অ্যাপাচি ইনস্টলেশন পৃথক ফাইলে এসএসএল কনফিগারেশন রাখে। যদি তা হয় তবে নিশ্চিত হয়ে নিন যে এসএসএল কনফ ফাইলটি অন্তর্ভুক্ত করা হচ্ছে। আমার ক্ষেত্রে আমাকে এই লাইনটি আপসহীন করতে হয়েছিল:
Include conf/extra/httpd-ssl.conf
এসএসএল কনফিগারেশনে httpd-ssl.conf
আমাকে নিম্নলিখিত লাইনগুলি আপডেট করতে হয়েছিল:
SSLSessionCache "shmcb:C:\Program Files (x86)\Zend\Apache2/logs/ssl_scache(512000)"
SSLSessionCache "shmcb:C:/Progra\~2/Zend/Apache2/logs/ssl_scache(512000)"
DocumentRoot
- আপনার ওয়েব ফাইলগুলির জন্য এটি ফোল্ডারে সেট করুনServerName
- সার্ভারের হোস্ট-নেমSSLCertificateFile "conf/blarg.cert"
SSLCertificateKeyFile "conf/blarg.key"
অ্যাপাচি পুনরায় চালু করুন।
https://localhost/
আপনার ব্রাউজারে লোড করার চেষ্টা করুন ।আশা করি আপনি এটিকে এ পর্যন্ত তৈরি করেছেন। অন্য কোনও সহায়ক তথ্যের সাথে নিখরচায় এই পোস্টটি আপডেট করুন।
(স্ক্রিনশটগুলি নীল ওব্রেমস্কির সৌজন্যে এবং তার সহায়ক নিবন্ধ - যদিও এখন বেশ পুরানো ।
আমি এর জন্য এনগ্রোক ( https://ngrok.com/ ) ব্যবহার করি। এনগ্রোক একটি কমান্ড লাইন সরঞ্জাম এবং লোকালহোস্টের জন্য একটি টানেল তৈরি করে। এটি উভয়ই http এবং https সংযোগ তৈরি করে। এটি ডাউনলোড করার পরে নিম্নলিখিত কমান্ডটি চালানো দরকার:
ngrok http 80
(সংস্করণ 2-এ বাক্য গঠনটি হ'ল: এনগ্রোক HTTP 80 version সংস্করণ 2-এ, যে কোনও বন্দরটি টুনেল করা যেতে পারে))
কয়েক সেকেন্ড পরে, এটি দুটি url দেবে:
http://a_hexadecimal_number.ngrok.com
https://a_hexadecimal_number.ngrok.com
এখন, উভয়ই ইউআরএল লোকালহোস্টের দিকে নির্দেশ করে।
এটি করার সহজ উপায় এখানে
প্রথমে এই সার্ভার.সিআরটি এবং সার্ভার.কি ফাইলগুলি (সংযুক্তিতে সন্ধান করুন) আপনার অ্যাপাচি / কনফিড / এসএসএল ডিরেক্টরিতে অনুলিপি করুন
তারপরে httpd.conf ফাইলটি খুলুন এবং নিম্নলিখিত লাইনটি যুক্ত করুন
Listen 80
Listen 443
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:443>
DocumentRoot "d:/wamp/www" #your wamp www root dir
ServerName localhost
SSLEngine on
SSLCertificateFile "d:/wamp/bin/apache/Apache2.4.4/conf/ssl/server.crt"
SSLCertificateKeyFile "d:/wamp/bin/apache/Apache2.4.4/conf/ssl/server.key"
</VirtualHost>
আপনার ওয়েব সার্ভারে এবং পাঠানো তথ্যের সুরক্ষা রক্ষা করার জন্য, ক্লায়েন্ট এবং সার্ভারের মধ্যে যোগাযোগের এনক্রিপশন সক্ষম করা ভাল ধারণা। এটিকে প্রায়শই এসএসএল বলা হয় ।
সুতরাং আসুন এইচটিটিপিএস অ্যাপাচি 2 তে স্ব-স্বাক্ষরিত শংসাপত্র সহ সেট আপ করি। আপনার অনুসরণ করা উচিত এমন পদক্ষেপগুলি আমি তালিকাভুক্ত করতে যাচ্ছি:
sudo apt-get apache2 ইনস্টল করুন
sudo পরিষেবা apache2 স্থিতি
এটি আউটপুট করা উচিত
আপনি যেমন apache2 এর জন্য ডিফল্ট পৃষ্ঠা পেয়েছেন তা যাচাই করুন।
ওপেনসেল রেকর্ড -x509 -নিউকি আরএসএ: 2048 -কিআউট মাইকি.কি-আউট মাইসার্ট.পিএম -ডেস 365 -নোডস
নীচে প্রদর্শিত হিসাবে সেই অনুযায়ী তথ্য পূরণ করুন।
mykey.key এবং mycert.pem আপনার বর্তমান ওয়ার্কিং ডিরেক্টরিতে তৈরি করা উচিত।
sudo cp mycert.pem / etc / ssl / certs
সুডো সিপি মাইকি.কি / ইত্যাদি / এসএসএল / প্রাইভেট
sudo a2enmod ssl
এটি এর মত আউটপুট করা উচিত
sudo vi /etc/apache2/sites-available/default-ssl.conf
দয়া করে এই দুটি লাইন সন্ধান করুন এবং আপনার শংসাপত্র এবং কী পাথগুলির সাথে তাদের প্রতিস্থাপন করুন।
প্রাথমিক
চূড়ান্ত
সিডি / ইত্যাদি / অ্যাপাচি 2 / সাইট-উপলব্ধ /
sudo a2ensite ডিফল্ট- ssl.conf
sudo পরিষেবা apache2 পুনরায় আরম্ভ করুন
এটি এমন সতর্কতার সাথে এরকম কিছু আউটপুট করা উচিত যা আপনি দেখতে যাচ্ছেন যে পৃষ্ঠাটি সুরক্ষিত নয় কারণ আমরা স্বাক্ষরিত শংসাপত্রের সাথে সার্ভারটি কনফিগার করেছি।
default-ssl.conf
যেমনটি রেখেছি তেমন ছেড়েছি । আমি নামান্তর করতে সম্পর্কে ছিল mycert
থেকে ssl-cert-snakeoil
কিন্তু এই ফাইল আগে থেকেই আছে তাই আমি ঠিক যে ব্যবহার করেছেন! সুতরাং আমি নিরাপদে ডেবিয়ানের দুটি পদক্ষেপ এড়াতে সক্ষম হয়েছি।
উইন্ডোজ + অ্যাপাচি ২.৪, উদাহরণস্বরূপ:
আপনার httpd.conf
ফাইলটিতে অসাবধানতা ssl_module ।
LoadModule ssl_module modules/mod_ssl.so
আপনার httpd.conf
ফাইলটিতে 80 পোর্টের মতো 443 পোর্ট শুনুন ।
Listen 80
Listen 443
আপনার httpd.conf
ফাইলটিতে ভার্চুয়াল হোস্টগুলি অন্তর্ভুক্ত করুন om
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
আপনার মধ্যে ভার্চুয়ালহোস্ট যোগ করুন conf/extra/httpd-vhosts.conf
<VirtualHost _default_:443>
DocumentRoot "D:/www" #your site directory path
ServerName localhost
#ServerAlias localhost.com localhost2.com
SSLEngine on
SSLCertificateFile "${SRVROOT}/conf/ssl/server.crt"
SSLCertificateKeyFile "${SRVROOT}/conf/ssl/server.key"
<Directory "D:/www">
Options -Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
কেবলমাত্র পোর্ট নম্বর 443
এবং SSL......
লাইনগুলি স্বাভাবিক http কনফিগার থেকে পৃথক।
আপনার কনফিগার ফাইল সংরক্ষণ করুন এবং অ্যাপাচি পরিষেবা পুনরায় চালু করুন। তারপরে আপনি https: // লোকালহোস্ট /
ওয়েব ব্রাউজার আপনাকে সতর্ক করবে যে এটি প্রথমবারেই অনিরাপদ, কেবল এগিয়ে যেতে বেছে নিন।
এটি আপনার পক্ষে একটি ওপেনসেল ইনস্টলেশন সহজলভ্য বলে ধরে নিলে এটি বেশ সহজ। (আপনি কোন প্ল্যাটফর্মে আছেন?)
ধরে নিই যে আপনি লিনাক্স / সোলারিস / ম্যাক ওএস / এক্স এ আছেন, ভ্যানের অ্যাপাচি এসএসএল / টিএলএস মিনি-হাওটোর একটি দুর্দান্ত ওয়াকথ্রু রয়েছে যা আমি এখানে পুনরুত্পাদন করব না।
তবে নির্বাহী সংক্ষিপ্তসারটি হ'ল আপনাকে একটি স্ব-স্বাক্ষরিত শংসাপত্র তৈরি করতে হবে। যেহেতু আপনি সম্ভবত স্থানীয়হোস্টের উন্নয়নের জন্য অ্যাপাচি চালিয়ে যাচ্ছেন (যেমন কোনও পাবলিক ওয়েব সার্ভার নয়), আপনি জানেন যে আপনি স্ব-স্বাক্ষরিত শংসাপত্রকে বিশ্বাস করতে পারেন এবং আপনার ব্রাউজার আপনাকে যে সতর্কতাগুলি ছুঁড়ে ফেলবে তা উপেক্ষা করতে পারে।
এটি উবুন্টু, অ্যাপাচি 2 এর সাথে পুদিনার অনুরূপ কাজ করা উচিত
এটি একটি দুর্দান্ত গাইড, সুতরাং এটি অনুসরণ করে
এবং আপনার এসএসএল.কমকে এই জাতীয় অনুরূপ ছেড়ে চলেছে
<VirtualHost _default_:443>
ServerAdmin your@email.com
ServerName localhost
ServerAlias www.localhost.com
DocumentRoot /var/www
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
আপনি তা পেতে পারেন.
লিনাক্সারের জন্য এই সহায়তা আশা করি
এটা খুবই সাধারণ,
শুধু নিম্নলিখিত কমান্ডগুলি চালান
sudo a2enmod ssl
sudo service apache2 restart
sudo a2ensite default-ssl.conf
এই যে, আপনি সম্পন্ন হয়েছে।
আপনি যদি এসএসএলকে (সর্বদা https ব্যবহার করতে) জোর করতে চান তবে ফাইলটি সম্পাদনা করুন:
sudo nano /etc/apache2/sites-available/000-default.conf
এবং এই এক লাইন যোগ করুন
<VirtualHost *:80>
. . .
Redirect "/" "https://your_domain_or_IP/"
. . .
</VirtualHost>
তারপরে আবার চালু করুন
sudo service apache2 restart
systemctl reload apache2
পরে sudo a2ensite default-ssl.conf
।
আমি এই উত্তরটি পোস্ট করছি যেহেতু আমি নিজেই এটির সাথে লড়াই করেছি এবং ক্রোম সাবজেক্ট বিকল্প বিকল্পের প্রয়োজনীয়তার সাথে তাদের সুরক্ষা আপডেট করেছে যা উত্তর হিসাবে পোস্ট করার সময় অনেকগুলি পোস্টের প্রয়োজন হয় না। আমি ধরে নিচ্ছি যে ডাব্লুএইচএমপি ইতোমধ্যে ইনস্টলড আছে।
ধাপ 1
ওপেনএসএসএল লাইট ডাউনলোড করুন এবং ইনস্টল করুন
পদক্ষেপ 2 (ptionচ্ছিক)
যদিও এই অংশটি isচ্ছিক, তবে পরে কমান্ডগুলি কার্যকর করা সহজ করে তোলে। আপনি যদি এই পদক্ষেপটি এড়িয়ে যান তবে আপনাকে ওপেনএসএল.এক্সে পুরো পথ সরবরাহ করতে হবে যেখানে আপনি আদেশটি কার্যকর করবেন। আপনি যদি এটি সেট করতে পছন্দ করেন তবে পরিবেশের ভেরিয়েবলগুলিতে ওপেনএসএল.এক্সে পথ আপডেট করুন।
এনভায়রনমেন্ট ভেরিয়েবলস -> সিস্টেম ভেরিয়েবলস -> পাথ -> সম্পাদনা -> নতুন -> সি: \ প্রোগ্রাম ফাইলগুলি \ ওপেনএসএসএল-উইন 64 \ বিন
ধাপ 3
নামে একটি ফোল্ডার তৈরি "কী" মধ্যে c:/wamp64/bin/apache/apache2.4.27(your version number)/conf/
ডিরেক্টরি।
বিষয়বস্তু সহ আপনার সিএ মাইকম্পানি সিএ সিএনএফের জন্য কনফিগারেশন ফাইল তৈরি করুন (আপনি এটি আপনার প্রয়োজনে পরিবর্তন করতে পারেন):
[ req ]
distinguished_name = req_distinguished_name
x509_extensions = root_ca
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_min = 2
countryName_max = 2
stateOrProvinceName = State or Province Name (full name)
localityName = Locality Name (eg, city)
0.organizationName = Organization Name (eg, company)
organizationalUnitName = Organizational Unit Name (eg, section)
commonName = Common Name (eg, fully qualified host name)
commonName_max = 64
emailAddress = Email Address
emailAddress_max = 64
[ root_ca ]
basicConstraints = critical, CA:true
আপনার ওয়েব সার্ভার শংসাপত্রের জন্য এক্সটেনশন কনফিগারেশন ফাইল মাইকম্পানিলোকস্টহেক্সটেক্সট তৈরি করুন :
subjectAltName = @alt_names
extendedKeyUsage = serverAuth
[alt_names]
DNS.1 = localhost
DNS.2 = mycy.mycompany.com
পদক্ষেপ 4
কী এবং শংসাপত্রগুলি তৈরি করতে প্রদত্ত ক্রমে এই আদেশগুলি কার্যকর করুন:
openssl req -x509 -newkey rsa:2048 -out MyCompanyCA.cer -outform PEM -keyout MyCompanyCA.pvk -days 10000 -verbose -config MyCompanyCA.cnf -nodes -sha256 -subj "/CN=MyCompany CA"
openssl req -newkey rsa:2048 -keyout MyCompanyLocalhost.pvk -out MyCompanyLocalhost.req -subj /CN=localhost -sha256 -nodes
openssl x509 -req -CA MyCompanyCA.cer -CAkey MyCompanyCA.pvk -in MyCompanyLocalhost.req -out MyCompanyLocalhost.cer -days 10000 -extfile MyCompanyLocalhost.ext -sha256 -set_serial 0x1111
ফলস্বরূপ, আপনার কাছে MyCompanyCA.cer , MyCompanyLocalhost.cer এবং MyCompanyLocalhost.pvk ফাইল থাকবে।
পদক্ষেপ 5
এর অধীনে MyCompanyCA.cer ইনস্টল করুন
কন্ট্রোল প্যানেল -> ব্যবহারকারীর শংসাপত্রগুলি পরিচালনা করুন -> বিশ্বস্ত রুট শংসাপত্রের কর্তৃপক্ষ -> শংসাপত্রগুলি
MyCompanyLocalhost.cer ইনস্টল করতে এটিতে ডাবল ক্লিক করুন।
পদক্ষেপ 6
নিম্নলিখিত 3 লাইনটি খুলুন c:/wamp64/bin/apache/apache2.4.27(your version number)/conf/httpd.conf
এবং অন-মন্তব্য (# টি সরিয়ে) :
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
পদক্ষেপ 7
c:/wamp64/bin/apache/apache2.4.37/conf/extra/httpd-ssl.conf
নীচে প্রদর্শিত সমস্ত পরামিতিগুলি খুলুন এবং পরিবর্তন করুন:
Directory "c:/wamp64/www"
DocumentRoot "c:/wamp64/www"
ServerName localhost:443
ServerAdmin admin@example.com
ErrorLog "c:/wamp64/bin/apache/apache2.4.27/logs/error.log"
TransferLog "c:/wamp64/bin/apache/apache2.4.27/logs/access.log"
SSLCertificateFile "c:/wamp64/bin/apache/apache2.4.27/conf/key/MyCompanyLocalhost.cer"
SSLCertificateKeyFile "c:/wamp64/bin/apache/apache2.4.27/conf/key/MyCompanyLocalhost.pvk"
SSLSessionCache "shmcb:c:/wamp64/bin/apache/apache2.4.27/logs/ssl_scache(512000)"
CustomLog "c:/wamp64/bin/apache/apache2.4.27/logs/ssl_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
দ্রষ্টব্য: এটি জটিল অংশ is এই ফাইলটি সম্পাদনার সময় আপনি যদি কোনও ছোট্ট ভুল করেন তবে এসএসএল কাজ করবে না। আপনি এটি সম্পাদনা করার আগে এর একটি অনুলিপি তৈরি করুন।
পদক্ষেপ 8
ওয়্যাম্প এবং ক্রোম পুনরায় চালু করুন। লোকালহোস্ট এখন সুরক্ষিত: https: // লোকালহোস্ট
CentOS এর জন্য এই হাওটোটি অনুসরণ করা সহজ ছিল এবং মাত্র 5 মিনিট সময় নিয়েছে: https://wiki.centos.org/HowTos/Https
আমি এখানে প্রতিটি পদক্ষেপের বিস্তারিত জানব না, তবে প্রধান পদক্ষেপগুলি হ'ল:
1.) অ্যাপাচি এর জন্য ওপেনসেল মডিউলটি ইনস্টল করুন, যদি ইতিমধ্যে ইনস্টল না থাকে
২) একটি স্ব-স্বাক্ষরিত শংসাপত্র তৈরি করুন
- এই মুহুর্তে, আপনার https: // লোকালহোস্ট সফলভাবে দেখতে পারা উচিত
৩) প্রয়োজন হলে ভার্চুয়াল হোস্ট সেট আপ করুন
এটি অ্যাপাচি 24 এর সাথে উইন্ডোজ 10 এ কাজ করেছে:
1 - এর নীচে এটি যুক্ত করুন C:/Apache24/conf/httpd.conf
Listen 443
<VirtualHost *:443>
DocumentRoot "C:/Apache24/htdocs"
ServerName localhost
SSLEngine on
SSLCertificateFile "C:/Apache24/conf/ssl/server.crt"
SSLCertificateKeyFile "C:/Apache24/conf/ssl/server.key"
</VirtualHost>
2 - ফোল্ডারে ফাইল server.crt
এবং server.key
ফাইলগুলি যুক্ত করুন C:/Apache24/conf/ssl
। এই 2 টি ফাইল সন্ধান করতে এই পৃষ্ঠায় অন্যান্য উত্তরগুলি দেখুন।
এটাই!
ssh -R youruniquesubdomain:80:localhost:3000 serveo.net
এবং আপনার স্থানীয় পরিবেশ https://yourunificationsubdomain.servo.net থেকে অ্যাক্সেস করা যায়
আমি যখন এই পরিষেবাটি পেয়েছি তখন বিশ্বাস করতে পারি না। এটি সবকিছু সরবরাহ করে এবং এটি ব্যবহার করা সহজ। যদি প্রতিটি সমস্যার জন্য এমন একটি সহজ এবং বেদনাদায়ক সরঞ্জাম থাকে ...
এখানে উইন্ডোজ 10 এ অ্যাপাচি চালানো। সাইমন দ্বারা শীর্ষ উত্তরে তৈরি শংসাপত্রের উপর বিশ্বাস রাখতে আমি Chromeকে পাইনি। আমি যা করেছিলাম তা হ'ল স্বাক্ষরিত শংসাপত্র তৈরি করার জন্য পাওয়ারশেল ব্যবহার করা using
পাওয়ারশেল
New-SelfSignedCertificate -DnsName "localhost" -CertStoreLocation "cert:\LocalMachine\My"
1 এ
Certificate
উইন্ডোজ অনুসন্ধান বারে টাইপ করুন, Manage Computer Certificates
প্রস্তাবিত নিয়ন্ত্রণ প্যানেল আইটেমটি ক্লিক করুন click
শংসাপত্র পরিচালন প্রোগ্রাম যা আসে (certlm) থেকে, আপনার এখন localhost
নীচে একটি কী দেখতে হবে Personal >> Certificates
।
আমি এই শংসাপত্রটি অনুলিপি করেছি Trusted Root Certification Authorities
। আমি এতে সত্যবাদী হব যে আমি এটির প্রয়োজনীয় কিনা তা নিশ্চিত নই।
নতুন অনুলিপি করা শংসাপত্র নির্বাচন করে, এটিতে (লোকালহোস্ট শংসাপত্র) ডাবল ক্লিক করুন। শংসাপত্রের মডেল থেকে, Details
ট্যাবটি ক্লিক করুন , তারপরে Copy to File...
বোতামটি।
এটি আনবে এবং উইজার্ডটি রফতানি করবে, আমি ব্যক্তিগত কী রফতানি করতে বেছে নিয়েছি, পরবর্তী ক্লিক করুন। আমিও বেছে নিয়েছি Export all extended properties
(আবারও, এটি প্রয়োজনীয় ছিল কিনা তা আমি নিশ্চিত নই)। আমি একটি সাধারণ পাসওয়ার্ড ( pass
) এবং ডিফল্ট এনক্রিপশন ব্যবহার করতে পছন্দ করেছি। ফাইলটি রফতানি করতে এবং নামকরণ করতে একটি ফোল্ডার চয়ন করুন। আপনি প্রয়োজনে ফাইলটিকে সর্বদা সরাতে এবং নাম পরিবর্তন করতে পারেন। সরলতার স্বার্থে আসুন আপনার এপাচি ইনস্টলেশন (আমার ক্ষেত্রে C:\apache\conf
:) এর অধীনে আপনার কনফিড ফোল্ডারে এটি অনুলিপি করুন এবং ফাইলটির নাম দিন myCert
(ফলস্বরূপ ফাইলটি একটি .pfx
ফাইল হবে)
.pfx
অ্যাপাচি ব্যবহারের জন্য ফাইল রূপান্তর করুনএখান থেকে আমি মূলত টিউটোরিয়াল অনুসরণ এখানে , কিন্তু আমি এখানে নির্দেশাবলী যুক্ত করতে হবে (আমাদের সেটিংসের জন্য tweaked) ক্ষেত্রে যে সাইট যায় নিচে।
খুলুন আপনার কমান্ড মধ্যে প্রম্পট /apache/conf/
ফোল্ডারের
চালান নিম্নলিখিত কমান্ড: নোট: এই অনুমান আপনি openssl.exe
মধ্যে bin
Apache রুট ফোল্ডার ফোল্ডার (এই মান / ডিফল্ট হওয়া উচিত)
..\bin\openssl pkcs12 -in myCert.pfx -nocerts -out privateKey.pem
এটি আপনাকে পাসওয়ার্ডের জন্য অনুরোধ জানাবে, আপনি যখন .pfx
ফাইলটি রফতানি করবেন তখন পদক্ষেপ 2 এর জন্য আপনি কী ইনপুটটি প্রবেশ করবেন । আমার ক্ষেত্রে, এই হয় pass
। আমি PE বাক্যাংশের জন্য একই পাসওয়ার্ডটি প্রবেশ করিয়েছি এবং আবার যাচাই করতে। এটি privateKey.pem
আপনার কনফার্ম ফোল্ডারে একটি নতুন ফাইল তৈরি করবে ।
তারপর, চালান
..\bin\openssl rsa -in privateKey.pem -out private.pem
আবার আপনাকে একটি পাসওয়ার্ডের জন্য অনুরোধ জানানো হবে ( Enter pass phrase for privateKey.pem:
), আপনি যে পাসওয়ার্ড সেট করেছেন সেটি ব্যবহার করুন privateKey.pem
। (আমার ক্ষেত্রে, pass
)
আপনার উচিত হবে এমন একটি বার্তা এবং আপনার ফোল্ডারে writing RSA key
একটি নতুন ফাইল বলা উচিত see এটি আপনার এসএসএল সার্টিফিকেটকি ফাইলে হবে।private.pem
conf/
এখন সম্পর্কিত সার্ভার শংসাপত্র তৈরি করতে। চালান:
..\bin\openssl pkcs12 -in myCert.pfx -clcerts -nokeys -out EntrustCert.pem
এটি আপনাকে পাসওয়ার্ডের জন্য অনুরোধ জানাবে, আপনি যখন .pfx
ফাইলটি রফতানি করবেন তখন পদক্ষেপ 2 এর জন্য আপনি কী ইনপুটটি প্রবেশ করবেন । এটি প্রবেশ করান এবং EntrustCert.pem
আপনার conf
ফোল্ডারে এখন একটি ফাইল কল করা হবে । এটি আপনার এসএসএল সার্টিফিট ফাইল ile
httpd.conf
আপনার সার্ভারের কী এবং শংসাপত্র হিসাবে তৈরি করা নতুন ফাইলগুলি ব্যবহার করুন। আপনার ফাইলগুলি যেখানে রয়েছে সেখানে আপনার নথির রুটটি অবশ্যই পরিবর্তন করবেন!
ServerName localhost:80
Protocols h2 h2c http/1.1
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<VirtualHost _default_:443>
ServerName localhost:443
DocumentRoot ${SRVROOT}/htdocs/MYSITE
SSLEngine on
SSLCertificateFile "${SRVROOT}/conf/EntrustCert.pem"
SSLCertificateKeyFile "${SRVROOT}/conf/private.pem"
</VirtualHost>
এছাড়াও এতে httpd.conf
:
LoadModule ssl_module modules/mod_ssl.so
নিরক্ষিত হয়েছে ( #
সামনে নেই)LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule http2_module modules/mod_http2.so
Include conf/extra/httpd-ssl.conf
(দ্রষ্টব্য: ফাইলটি সেখানে রয়েছে তা নিশ্চিত করুন!)আমার সাথে কার্ল এবং ওপেন এসএসএল লাইব্রেরি রয়েছে:
# load curl and open ssl libraries
LoadFile "C:\php\libeay32.dll"
LoadFile "C:\php\ssleay32.dll"
LoadFile "C:\php\libssh2.dll"
এই মডিউলগুলি প্রয়োজন হবে না, তবে আমি নোট করব যে আমি সেগুলি সক্ষম করেছি:
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule filter_module modules/mod_filter.so
LoadModule deflate_module modules/mod_deflate.so
httpd-ssl.conf
ইন extra/
ফোল্ডার conf/
ফোল্ডারের আপনি একটি ফাইল নামক দেখতে পাবেন httpd-ssl.conf
।
5a। পরিবর্তন করুনDocumentRoot
- DocumentRoot
আপনার ফাইলগুলি যেখানে আছে সেখানে ডিফল্ট থেকে পরিবর্তন করুন ।
5B। পরিবর্তন করুনServerName
- ServerName
ডিফল্ট থেকে পরিবর্তন (যেমন কিছু www.example.com:443
) থেকেlocalhost:443
5c। পরিবর্তনSSLCertificateFile
পরিবর্তন SSLCertificateFile
ডিফল্ট থেকে ( ${SRVROOT}/conf/server.crt
) এর${SRVROOT}/conf/EntrustCert.pem
5c। পরিবর্তনSSLCertificateKeyFile
পরিবর্তন SSLCertificateKeyFile
ডিফল্ট থেকে ( ${SRVROOT}/conf/server.key
) এর${SRVROOT}/conf/private.pem
সব একসাথে, <VirtualHost _default_:443>
ট্যাগে।
# General setup for the virtual host
DocumentRoot "${SRVROOT}/htdocs/MYSITE"
ServerName localhost:443
ServerAdmin admin@example.com
ErrorLog "${SRVROOT}/logs/error.log"
TransferLog "${SRVROOT}/logs/access.log"
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
# Server Certificate:
# Point SSLCertificateFile at a PEM encoded certificate. If
# the certificate is encrypted, then you will be prompted for a
# pass phrase. Note that a kill -HUP will prompt again. Keep
# in mind that if you have both an RSA and a DSA certificate you
# can configure both in parallel (to also allow the use of DSA
# ciphers, etc.)
# Some ECC cipher suites (http://www.ietf.org/rfc/rfc4492.txt)
# require an ECC certificate which can also be configured in
# parallel.
SSLCertificateFile "${SRVROOT}/conf/EntrustCert.pem"
#SSLCertificateFile "${SRVROOT}/conf/server-dsa.crt"
#SSLCertificateFile "${SRVROOT}/conf/server-ecc.crt"
# Server Private Key:
# If the key is not combined with the certificate, use this
# directive to point at the key file. Keep in mind that if
# you've both a RSA and a DSA private key you can configure
# both in parallel (to also allow the use of DSA ciphers, etc.)
# ECC keys, when in use, can also be configured in parallel
SSLCertificateKeyFile "${SRVROOT}/conf/private.pem"
#SSLCertificateKeyFile "${SRVROOT}/conf/server-dsa.key"
#SSLCertificateKeyFile "${SRVROOT}/conf/server-ecc.key"
এই পরিবর্তনগুলি করার পরে আপনি অ্যাপাচি পুনরায় আরম্ভ করতে পারবেন এবং কোনও সুরক্ষা সতর্কতা এবং সামান্য প্যাডলক ছাড়াই https: // লোকালহোস্টে নেভিগেট করতে সক্ষম হবেন !
আমি আশা করি এটা কারো সাহায্যে লাগবে! 😊
সূত্রসমূহ :
১) স্ব-স্বাক্ষরিত শংসাপত্র তৈরির বিষয়ে অরি রহিমজাদেহের উত্তর
২) স্বাক্ষর ডেটাকার্ড - আমি অ্যাপাচি সার্ভারের সাহায্যে একটি .pfx কীভাবে রূপান্তর করব?
আর একটি সহজ পদ্ধতি উবুন্টুতে পাইথন সার্ভার ব্যবহার করছে।
টার্মিনালে নিম্নলিখিত কমান্ড সহ সার্ভার.এক্সএমএল তৈরি করুন:
openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
দ্রষ্টব্য: ধরে নিচ্ছি যে আপনি ওপেনসেল ইনস্টল করেছেন।
নামে একটি ফাইলে কোড নিচে সংরক্ষণ simple-https-server.py
মধ্যে কোনো ডিরেক্টরির আপনি সার্ভারে চালাতে চান।
import BaseHTTPServer, SimpleHTTPServer
import ssl
httpd = BaseHTTPServer.HTTPServer(('localhost', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket (httpd.socket, certfile='./server.pem', server_side=True)
httpd.serve_forever()
টার্মিনাল থেকে সার্ভারটি চালান:
python simple-https-server.py
পৃষ্ঠাটি দেখুন:
https://localhost:4443
অতিরিক্ত নোট :
আপনি পরিবর্তন করতে পারেন বন্দর মধ্যে simple-https-server.py
লাইনে ফাইল
httpd = BaseHTTPServer.HTTPServer(('localhost', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler)
আপনি উপরের একই লাইনে আপনার আইপিতে পরিবর্তন localhost
করতে পারেন :
httpd = BaseHTTPServer.HTTPServer(('10.7.1.3', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler)
এবং আপনার নেটওয়ার্ক সংযুক্ত যে কোনও ডিভাইসে পৃষ্ঠা অ্যাক্সেস করুন। "আপনাকে একটি মোবাইলে এইচটিএমএল 5 জিওলোকেশন এপিআই পরীক্ষা করতে হবে এবং Chrome কেবলমাত্র নিরাপদ সংযোগগুলিতে এপিআইকে সীমাবদ্ধ করে" এর মতো ক্ষেত্রে এটি খুব সহজ।
সংক্ষেপ: https://gist.github.com/dergachev/7028596
http://www.piware.de/2011/01/creating-an-https-server-in-python/
ম্যাকোস ব্যবহারকারীদের জন্য এটি আপনার স্থানীয় ওয়েব ডেভ এনভায়রনমেন্ট সেট আপ করার জন্য https://getgrav.org/blog/macos-sierra-apache-m Multiple--pp-versions একটি দুর্দান্ত গাইড । এর তৃতীয় অংশে https://getgrav.org/blog/macos-sierra-apache-ssl অ্যান্ডি মিলার কীভাবে স্ব-স্বাক্ষরিত শংসাপত্রের সাথে অ্যাপাচি সেট আপ করবেন তা ব্যাখ্যা করে:
এটি হ'ল মূল আদেশ:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.crt
তবে আপনাকে কয়েকটি পদক্ষেপ অনুসরণ করতে হবে, তাই এটি পরীক্ষা করে দেখুন এবং সৌভাগ্য! ;)
আমি @ কোডেওয়ারিয়ারের খুব ভাল উত্তরে এমন কিছু যুক্ত করতে চাই যা ক্রোমে পুরোপুরি কাজ করে তবে ফায়ারফক্সের জন্য অতিরিক্ত পদক্ষেপ নেওয়া দরকার।
যেহেতু ফায়ারফক্স সিএ শংসাপত্রগুলি উইন্ডোজকে ডিফল্টরূপে দেয় না, তাই আপনার যেতে হবে about:config
, নীচে স্ক্রোল করে security.enterprise_roots.enabled
এটিকে সত্যে পরিবর্তন করতে হবে।
এখন আপনার শংসাপত্রটি ফায়ারফক্সেও বৈধ হিসাবে দেখা উচিত।
অবশ্যই এটি কেবল বিকাশের উদ্দেশ্যে, কারণ এসএসএল বিশ্বাস একটি গুরুত্বপূর্ণ সুরক্ষা উদ্বেগ এবং কেবলমাত্র যদি আপনি এর প্রভাবগুলি জানেন তবে এই সেটিংস পরিবর্তন করুন।
ssh -R youruniquesubdomain:80:localhost:3000 serveo.net
আপনার সাবডোমেন এবং পোর্ট নম্বরটিতে চড়https://youruniquesubdomain.serveo.net