जवाबों:
मैंने बस यही प्रयास किया है - मुझे विंडोज पर अपने लोकलहोस्ट अपाचे पर कुछ विकास कोड का परीक्षण करने की आवश्यकता है । यह वाया उससे अधिक कठिन था जितना होना चाहिए था। लेकिन यहां ऐसे कदम बताए गए हैं जो हेयरपॉलिंग के बाद काम करने में कामयाब रहे ...
मैंने पाया कि मेरा अपाचे इंस्टॉल आता है openssl.exe
जो सहायक है। यदि आपके पास एक प्रति नहीं है, तो आपको इसे डाउनलोड करना होगा। मेरी कॉपी 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
Apache की conf\httpd.conf
फ़ाइल खोलें और सुनिश्चित करें कि SSL मॉड्यूल सक्षम है - इस लाइन के शुरू में कोई हैश नहीं होना चाहिए:
LoadModule ssl_module modules/mod_ssl.so
कुछ अपाचे इंस्टॉलेशन एसएसएल कॉन्फ़िगरेशन को एक अलग फ़ाइल में रखते हैं। यदि ऐसा है, तो सुनिश्चित करें कि SSL कॉन्फ़िडेंस फ़ाइल शामिल की जा रही है। मेरे मामले में मुझे इस लाइन को अनसुना करना पड़ा:
Include conf/extra/httpd-ssl.conf
SSL कॉन्फिगरेशन में 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/
अपने ब्राउज़र में लोड करने का प्रयास करें ।उम्मीद है कि आपने इसे दूर कर दिया है। किसी भी अन्य उपयोगी जानकारी के साथ इस पोस्ट को अपडेट करने के लिए स्वतंत्र महसूस करें।
(नील ओम्बेम्स्की के स्क्रीनशॉट सौजन्य और उनके उपयोगी लेख - हालांकि अब काफी पुराने हैं।)
मैं इसके लिए ngrok ( https://ngrok.com/ ) का उपयोग करता हूं । ngrok एक कमांड लाइन टूल है और लोकलहोस्ट के लिए एक सुरंग बनाता है। यह http और https दोनों कनेक्शन बनाता है। इसे डाउनलोड करने के बाद, निम्नलिखित कमांड को चलाने की आवश्यकता है:
ngrok http 80
(संस्करण 2 में, सिंटैक्स है: http 80 एनरोक। संस्करण 2 में, किसी भी पोर्ट को टनल किया जा सकता है।)
कुछ सेकंड के बाद, यह दो url देगा:
http://a_hexadecimal_number.ngrok.com
https://a_hexadecimal_number.ngrok.com
अब, दोनों url लोकलहोस्ट की ओर इशारा करते हैं।
यहाँ यह करने का सबसे सरल तरीका है
सबसे पहले अपने apache / conf / ssl डायरेक्टरी में इन server.crt & server.key फाइल्स (अटैचमेंट में लगाएं) को कॉपी करें
तब 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>
आपके वेब सर्वर से भेजी जाने वाली सूचनाओं की सुरक्षा की रक्षा करने के लिए, ग्राहकों और सर्वर के बीच संचार के एन्क्रिप्शन को सक्षम करना एक अच्छा विचार है। इसे अक्सर एसएसएल कहा जाता है ।
तो चलो Apache2 पर एक स्व-हस्ताक्षरित प्रमाण पत्र के साथ HTTPS स्थापित करें। मैं उन चरणों को सूचीबद्ध करने जा रहा हूं जिनका आपको पालन करना चाहिए:
sudo apt-get install apache2
sudo सेवा apache2 स्थिति
इसका उत्पादन होना चाहिए
सत्यापित करें कि आपको इस तरह apache2 के लिए डिफ़ॉल्ट पृष्ठ मिलता है।
Opensl req -x509 -newkey rsa: 2048 -keyout mykey.key -out mycert.pem -days 365 -nodes
कृपया नीचे दिखाए अनुसार जानकारी भरें।
mykey.key और mycert.pem अपने वर्तमान कार्यशील निर्देशिका में बनाया जाना चाहिए।
sudo cp mycert.pem / etc / ssl / certs
sudo cp mykey.key / etc / ssl / private
सूद a2enmod ssl
इसे इस तरह आउटपुट करना चाहिए
sudo vi /etc/apache2/sites-available/default-ssl.conf
कृपया इन दो पंक्तियों को खोजें और उन्हें अपने प्रमाणित और प्रमुख रास्तों से बदलें।
प्रारंभिक
अंतिम
cd / etc / apache2 / sites-available /
sudo a2ensite default-ssl.conf
sudo service apache2 पुनरारंभ
इसे इस तरह से कुछ चेतावनी के साथ आउटपुट करना चाहिए कि आप जिस पृष्ठ को देखने जा रहे हैं वह सुरक्षित नहीं है क्योंकि हमने सर्वर को स्व-हस्ताक्षरित प्रमाण पत्र के साथ कॉन्फ़िगर किया है।
default-ssl.conf
इसे छोड़ दिया । मैं नाम बदलने वाला mycert
था, ssl-cert-snakeoil
लेकिन यह फ़ाइल पहले से मौजूद है इसलिए मैंने अभी इसका उपयोग किया है! इसलिए मैं डेबियन पर दो चरणों को सुरक्षित रूप से छोड़ने में सक्षम था।
उदाहरण के लिए Windows + Apache 2.4:
आपकी httpd.conf
फ़ाइल में अपूर्ण ssl_module ।
LoadModule ssl_module modules/mod_ssl.so
अपनी httpd.conf
फ़ाइल में 443 पोर्ट को 80 पोर्ट की तरह सुनें ।
Listen 80
Listen 443
अपनी httpd.conf
फ़ाइल में वर्चुअल होस्ट्स शामिल करें ।
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
अपने में VirtualHost जोड़ें 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: // localhost / पर जा सकते हैं
वेब ब्राउज़र आपको चेतावनी देगा कि यह पहली बार असुरक्षित है, बस चुनें।
यह वास्तव में काफी आसान है, यह मानते हुए कि आपके पास एक खुलने वाला इंस्टॉलेशन काम है। (आप किस मंच पर हैं?)
यह मानते हुए कि आप लिनक्स / सोलारिस / मैक ओएस / एक्स पर हैं, वैन के अपाचे एसएसएल / टीएलएस मिनी-हॉव्टो में एक उत्कृष्ट वॉकथ्रू है जिसे मैं यहां पुन: पेश नहीं करूंगा।
हालाँकि, कार्यकारी सारांश यह है कि आपको एक स्व-हस्ताक्षरित प्रमाण पत्र बनाना होगा। चूँकि आप स्थानीय रूप से विकास के लिए अपाचे चला रहे हैं (अर्थात सार्वजनिक वेब सर्वर नहीं), आपको पता होगा कि आप स्व-हस्ताक्षरित प्रमाणपत्र पर भरोसा कर सकते हैं और उन चेतावनियों को अनदेखा कर सकते हैं जो आपका ब्राउज़र आप पर फेंक देगा।
यह अपाचे 2 के साथ उबंटू, मिंट के समान होना चाहिए
यह एक अच्छा मार्गदर्शक है, इसलिए इसका अनुसरण करना चाहिए
और अपने ssl.conf को इसी तरह या इसी तरह छोड़ना
<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
आप ये पा सकते हैं।
आशा है कि linuxer के लिए यह मदद मिलेगी
यह बहुत सरल है,
बस निम्नलिखित कमांड चलाएं
sudo a2enmod ssl
sudo service apache2 restart
sudo a2ensite default-ssl.conf
बस, हो गया।
यदि आप SSL (हमेशा 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
।
मैं इस उत्तर को पोस्ट कर रहा हूं क्योंकि मैंने खुद से संघर्ष किया और क्रोम ने विषय वैकल्पिक नाम की आवश्यकता के साथ अपनी सुरक्षा को अद्यतन किया जिसमें बहुत सारे पद नहीं हैं क्योंकि जब उन्हें उत्तर के रूप में पोस्ट किया गया था तो इसकी आवश्यकता नहीं थी। मैं मान रहा हूं कि WAMP पहले से इंस्टॉल है।
चरण 1
ओपनएसएसएल लाइट डाउनलोड करें और इंस्टॉल करें
चरण 2 (वैकल्पिक)
हालांकि यह हिस्सा वैकल्पिक है, लेकिन यह बाद में आदेशों को निष्पादित करना आसान बनाता है। यदि आप इस चरण को छोड़ देते हैं, तो आपको Opensl.exe को पूर्ण पथ प्रदान करना होगा जहां आप कमांड निष्पादित करेंगे। यदि आप इसे सेट करना पसंद करते हैं तो पर्यावरण चर में खुलता है।
पर्यावरण चर -> प्रणाली चर -> पथ -> संपादन -> नया -> c: \ Program Files \ OpenSSL-Win64 \ bin
चरण 3
निर्देशिका में "कुंजी" नामक एक फ़ोल्डर बनाएँ c:/wamp64/bin/apache/apache2.4.27(your version number)/conf/
।
सामग्री के साथ अपने CA MyCompanyCA.cnf के लिए कॉन्फ़िगरेशन फ़ाइल बनाएं (आप इसे अपनी आवश्यकताओं में बदल सकते हैं):
[ 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
अपने वेब सर्वर प्रमाणपत्र के लिए एक्सटेंशन कॉन्फ़िगरेशन फ़ाइल MyCompanyLocalhost.ext बनाएं :
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"
नोट: यह मुश्किल हिस्सा है। यदि आप इस फ़ाइल को संपादित करते समय कोई छोटी गलती करते हैं, तो SSL काम नहीं करेगा। इसे संपादित करने से पहले इसकी एक प्रति तैयार करें।
चरण 8
Wamp और Chrome को पुनरारंभ करें। लोकलहोस्ट अब सुरक्षित है: https: // localhost
CentOS के लिए इस HowTo का पालन करना आसान था और केवल 5 मिनट लगते थे: https://wiki.centos.org/HowTos/Https
मैं यहां प्रत्येक चरण का विस्तार नहीं करूंगा, लेकिन मुख्य चरण हैं:
1.) पहले से स्थापित नहीं होने पर, अपाचे के लिए खुलता मॉड्यूल स्थापित करें
2.) एक स्व-हस्ताक्षरित प्रमाण पत्र बनाएं
- इस बिंदु पर, आपको सफलतापूर्वक https: // localhost पर जाने में सक्षम होना चाहिए
3.) यदि आवश्यक हो तो एक वर्चुअल होस्ट सेट करें
यह Apache24 के साथ विंडोज 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://youruniquesubdomain.erveo.net से एक्सेस किया जा सकता है
जब मुझे यह सेवा मिली तो मुझे विश्वास नहीं हो रहा था। यह सब कुछ प्रदान करता है और इसका उपयोग करना सबसे आसान है। अगर हर समस्या के लिए एक ऐसा आसान और दर्द रहित उपकरण होगा ...
विंडोज 10 पर अपाचे चलाना यहां। मुझे साइमन द्वारा शीर्ष उत्तर में बनाए गए प्रमाण पत्र पर भरोसा करने के लिए क्रोम नहीं मिल सका। मैंने जो किया, वह स्वयं हस्ताक्षरित प्रमाण पत्र बनाने के लिए पावरशेल का उपयोग कर रहा था।
PowerShell
New-SelfSignedCertificate -DnsName "localhost" -CertStoreLocation "cert:\LocalMachine\My"
1 में
Certificate
विंडोज सर्च बार में टाइप करें, जो Manage Computer Certificates
कंट्रोल पैनल आइटम सुझाया गया है, उस पर क्लिक करें ।
सर्टिफिकेट मैनेजमेंट प्रोग्राम जो आता है (सर्टिफिकेट) से, आपको अब एक localhost
कुंजी देखनी चाहिए Personal >> Certificates
।
मैंने इस प्रमाणपत्र की प्रतिलिपि बनाई Trusted Root Certification Authorities
। मैं इस बात में ईमानदार रहूँगा कि मुझे यकीन नहीं है कि यह आवश्यक है।
नए कॉपी किए गए प्रमाणपत्र का चयन करते हुए, उस पर डबल क्लिक करें (स्थानीयहोस्ट प्रमाणपत्र)। सर्टिफिकेट मोडल से Details
टैब, फिर Copy to File...
बटन पर क्लिक करें।
यह ऊपर और निर्यात विज़ार्ड लाएगा, मैंने निजी कुंजी को निर्यात करने के लिए चुना, अगले पर क्लिक करें। मैंने भी चुना Export all extended properties
(फिर, मुझे यकीन नहीं है कि अगर यह आवश्यक था)। मैंने एक साधारण पासवर्ड ( pass
) और डिफ़ॉल्ट एन्क्रिप्शन का उपयोग करना चुना । फ़ाइल को निर्यात और नाम देने के लिए एक फ़ोल्डर चुनें। यदि आवश्यक हो तो आप हमेशा फ़ाइल को स्थानांतरित कर सकते हैं और नाम बदल सकते हैं। सादगी के लिए आइए इसे अपने अपाचे इंस्टालेशन के तहत अपने गोपनीय फ़ोल्डर में कॉपी करें (मेरे मामले में C:\apache\conf
) : और फाइल को नाम दें myCert
(परिणामस्वरूप फाइल एक .pfx
फाइल होगी )
.pfx
अपाचे के साथ उपयोग के लिए कन्वर्ट फ़ाइलयहाँ से मैंने मूल रूप से यहाँ ट्यूटोरियल का अनुसरण किया , लेकिन उस साइट के डाउन होने की स्थिति में मैं यहाँ निर्देश (हमारी सेटिंग्स के लिए ट्वीक किया गया) जोड़ दूँगा।
ओपन अपने आदेश में तत्काल /apache/conf/
फ़ोल्डर
भागो निम्न कमांड: नोट: यह मान लिया गया है आप openssl.exe
में bin
अपाचे रूट फ़ोल्डर में फ़ोल्डर (इस मानक / डिफ़ॉल्ट होना चाहिए)
..\bin\openssl pkcs12 -in myCert.pfx -nocerts -out privateKey.pem
यह आपको एक पासवर्ड के लिए संकेत देगा, जब आपने .pfx
फ़ाइल निर्यात की तो आप चरण 2 के लिए क्या इनपुट दर्ज करेंगे । मेरे मामले में, यह है pass
। मैंने PEM वाक्यांश और फिर से सत्यापित करने के लिए एक ही पासवर्ड दर्ज किया। यह privateKey.pem
आपके गोपनीय फ़ोल्डर में एक नई फ़ाइल बनाएगा ।
फिर भागो
..\bin\openssl rsa -in privateKey.pem -out private.pem
फिर से आपको पासवर्ड के लिए कहा जाएगा ( Enter pass phrase for privateKey.pem:
), आपके द्वारा निर्धारित पासवर्ड का उपयोग करें privateKey.pem
। (मेरे मामले में, pass
)
आपको एक संदेश देखना चाहिए जो कहता है writing RSA key
और private.pem
आपके conf/
फ़ोल्डर में एक नई फ़ाइल कहलाती है । यह आपका SSLCertificateKeyFile होगा।
अब संबंधित सर्वर प्रमाणपत्र उत्पन्न करने के लिए। Daud:
..\bin\openssl pkcs12 -in myCert.pfx -clcerts -nokeys -out EntrustCert.pem
यह आपको एक पासवर्ड के लिए संकेत देगा, जब आपने .pfx
फ़ाइल निर्यात की तो आप चरण 2 के लिए क्या इनपुट दर्ज करेंगे । इसे दर्ज करें और अब आपके पास EntrustCert.pem
आपके conf
फ़ोल्डर में एक फ़ाइल होगी । यह आपका SSLCertificateFile है
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
।
5 ए। बदलेंDocumentRoot
- DocumentRoot
डिफ़ॉल्ट से उस निर्देशिका में बदलें जहां आपकी फाइलें हैं।
5 ब। बदलें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: // लोकलहोस्ट पर बिना सुरक्षा चेतावनी और थोड़े पैडलॉक के नेविगेट करने में सक्षम होना चाहिए !
मुझे उम्मीद है इससे किसी को सहायता मिलेगी! 😊
स्रोत:
1.) Auri रहीमजादेह का उत्तर स्व-हस्ताक्षरित प्रमाण पत्र बनाने पर
2.) Entrust Datacard - मैं एक अपाचे सर्वर के साथ उपयोग किए जाने वाले .pfx को कैसे परिवर्तित करूं?
एक और सरल विधि उबंटू में पायथन सर्वर का उपयोग कर रही है।
टर्मिनल में निम्न कमांड के साथ server.xml उत्पन्न करें:
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 जीओलोकेशन एपीआई का परीक्षण करना है, और क्रोम सुरक्षित कनेक्शनों में एपीआई को प्रतिबंधित करता है"।
Gist: https://gist.github.com/dergachev/7028596
http://www.piware.de/2011/01/creating-an-https-server-in-python/
MacOS का उपयोग करने वालों के लिए यह एक बढ़िया गाइड है https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions अपने स्थानीय वेब देव वातावरण को स्थापित करने के लिए। इसके तीसरे भाग में https://getgrav.org/blog/macos-sierra-apache-ssl एंडी मिलर बताते हैं कि अपाचे को स्व-हस्ताक्षरित प्रमाण पत्र के साथ कैसे सेट करें:
यह प्रमुख आदेश है:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.crt
लेकिन कुछ कदम हैं जिनका आपको पालन करने की आवश्यकता है, इसलिए बाहर की जाँच करें और शुभकामनाएँ! ;)
मैं @CodeWarrior के बहुत अच्छे उत्तर में कुछ जोड़ना चाहता हूं, जो क्रोम पर पूरी तरह से काम करता है, लेकिन फ़ायरफ़ॉक्स के लिए एक अतिरिक्त कदम की आवश्यकता है।
चूंकि फ़ायरफ़ॉक्स सीए सर्टिफिकेट को जोर नहीं देता है जो विंडोज डिफ़ॉल्ट रूप से करता है, इसलिए आपको इसे चालू about:config
करने security.enterprise_roots.enabled
और इसे सच करने के लिए स्क्रॉल करने की आवश्यकता है।
अब आपके प्रमाणपत्र को फ़ायरफ़ॉक्स पर भी मान्य होना चाहिए।
बेशक, यह केवल विकास के उद्देश्यों के लिए है, क्योंकि ssl ट्रस्ट एक महत्वपूर्ण सुरक्षा चिंता है और इस सेटिंग को केवल तभी परिवर्तित करें जब आपको निहितार्थ पता हो।
ssh -R youruniquesubdomain:80:localhost:3000 serveo.net
अपने उपडोमेन और पोर्ट नंबर में थप्पड़ और आप जाने के लिए तैयार हैंhttps://youruniquesubdomain.serveo.net