आर्क लिनक्स वेबसर्वर पर HTTPS का उपयोग कैसे करें

आवश्यक शर्तें

  • आर्चर लिनक्स पर चलने वाला एक वल्चर सर्वर ( यह लेख देखें ।)
  • एक चल वेबसर्वर, या तो Apache या Nginx
  • सूदो की पहुँच
    • रूट के रूप में चलाने के लिए आवश्यक कमांड द्वारा उपसर्ग किया जाता है #, और जिन्हें नियमित उपयोगकर्ता के रूप में चलाया जा सकता है $। रूट को कमांड के रूप में चलाने का अनुशंसित तरीका एक नियमित उपयोगकर्ता के रूप में, उनमें से प्रत्येक के साथ उपसर्ग है sudo
  • एक टेक्स्ट एडिटर स्थापित करें, और उसके साथ परिचित रहें, जैसे vi, vim, nano, emacs या अन्य समान संपादक।

सुरक्षित सेवा वाया HTTPS

HTTPS के माध्यम से सामग्री की सेवा बेहद मजबूत एन्क्रिप्शन का उपयोग कर सकती है, इसलिए उपयोगकर्ता और वेब सर्वर के बीच कोई भी अवरोधन यातायात इसे नहीं पढ़ सकता है। यह न केवल ट्रैफ़िक को स्वयं एन्क्रिप्ट करता है, बल्कि URL तक भी पहुँचा जा सकता है, जो अन्यथा जानकारी को उजागर कर सकता है। कुछ समय के लिए, Google आंशिक रूप से इस आधार पर खोज रैंकिंग का निर्धारण कर रहा है कि क्या कोई पृष्ठ HTTPS का उपयोग करता है, HTTPS के माध्यम से या अन्य सामान्य पहल के रूप में।

नोट : एक DNS लुकअप डोमेन नाम से जुड़े होने का खुलासा करता है, लेकिन उस प्रक्रिया के दौरान पूरा URL सामने नहीं आता है।

एसएसएल / टीएलएस प्रमाणपत्र प्राप्त करें

तकनीकी रूप से, टीएलएस ने एचटीटीपीएस प्रमाणपत्रों के लिए एसएसएल की जगह ले ली है, लेकिन, अधिकांश स्थानों पर केवल टीएसएस सर्टिफिकेट को अधिक लोकप्रिय टर्म वीपीएन सर्टिफिकेट द्वारा कॉल करना जारी रहा। सामान्य उपयोग के बाद, यह मार्गदर्शिका वही करेगी।

HTTPS का उपयोग करने के लिए, आपके वेब सर्वर .keyको निजी रूप से उपयोग करने के लिए एक निजी कुंजी ( ) की आवश्यकता होती है , और एक प्रमाण पत्र ( .crt) सार्वजनिक रूप से साझा करने के लिए जिसमें एक सार्वजनिक कुंजी भी शामिल है। एक प्रमाण पत्र पर हस्ताक्षर किए जाने चाहिए। आप इसे स्वयं हस्ताक्षर कर सकते हैं, लेकिन आधुनिक ब्राउज़र शिकायत करेंगे कि वे हस्ताक्षरकर्ता को नहीं पहचानते हैं। उदाहरण के लिए, Chrome दिखाएगा Your connection is not private. Attackers might be trying to steal your information... NET::ERR_CERT_AUTHORITY_INVALID:। यदि केवल लोगों का एक निजी समूह वेबसाइट का उपयोग कर रहा है, तो यह स्वीकार्य हो सकता है, क्योंकि ब्राउज़र आगे बढ़ने के लिए एक मार्ग की अनुमति देगा। उदाहरण के लिए, क्रोम पर, "उन्नत" पर क्लिक करें, फिर "आगे बढ़ें ... (असुरक्षित)" पर जाएं; यह अभी भी "सुरक्षित नहीं" दिखाएगा और "https" को पार कर जाएगा।

ध्यान दें कि यह प्रक्रिया आपसे आपके देश, राज्य / प्रोवेंस, इलाके, संगठन, संगठनात्मक इकाई और सामान्य नामों और आपके ईमेल पते के लिए पूछेगी; जो सभी HTTPS के माध्यम से आपकी साइट से कनेक्ट होने वाले किसी भी ब्राउज़र में पहुंच योग्य है।

यह भी ध्यान दें कि यदि आप वर्चुअल होस्ट सर्टिफिकेट दे रहे हैं, तो आपको नीचे दिए गए विशिष्ट फ़ाइलनाम देने होंगे, और उन्हें अपने वर्चुअल होस्ट कॉन्फ़िगरेशन में इंगित करना होगा।

अपने वेब सर्वर के लिए उचित निर्देशिका में बदलें।

यदि आपने Apache स्थापित किया है:

$ cd /etc/httpd/conf

यदि आपने Nginx स्थापित किया है:

$ cd /etc/nginx

एक बार उचित निर्देशिका में, एक निजी कुंजी ( server.key) और स्व-हस्ताक्षरित प्रमाणपत्र ( server.crt) बनाएँ :

# openssl req -new -x509 -nodes -newkey rsa:4096 -keyout server.key -out server.crt -days 825

केवल पढ़ने के लिए अनुमतियाँ सेट करें, और केवल निजी कुंजी को रूट द्वारा पढ़ने की अनुमति दें:

# chmod 400 server.key
# chmod 444 server.crt

वैकल्पिक रूप से, आप एक विश्वसनीय प्रमाणपत्र प्राधिकारी द्वारा हस्ताक्षरित प्रमाणपत्र प्राप्त कर सकते हैं। आप अपने प्रमाण पत्र पर हस्ताक्षर करने के लिए विभिन्न कंपनियों (प्रमाणपत्र प्राधिकरण) को भुगतान कर सकते हैं। प्रमाण पत्र अधिकारियों पर विचार करते समय, यह देखना महत्वपूर्ण हो सकता है कि कौन से ब्राउज़र और कौन से संस्करण उन्हें पहचानेंगे। कुछ नए प्रमाणपत्र अधिकारियों को पुराने ब्राउज़र संस्करणों पर स्व-हस्ताक्षरित प्रमाण पत्र की तुलना में किसी भी अधिक आधिकारिक के रूप में मान्यता नहीं दी जा सकती है।

आपको आमतौर पर न केवल एक सार्वजनिक आईपी पते की आवश्यकता होती है, बल्कि एक डोमेन नाम भी। कुछ प्रमाणपत्र प्राधिकारी सार्वजनिक आईपी पते के लिए एक प्रमाण पत्र जारी कर सकते हैं, लेकिन यह शायद ही कभी किया जाता है।

कई प्रदाता 30 दिनों के नि: शुल्क परीक्षण की पेशकश करते हैं, जिसे शुरू करने की सिफारिश की जाती है ताकि आप इसके लिए भुगतान करने से पहले प्रक्रिया आपके लिए सुनिश्चित कर सकें। कीमतें कुछ डॉलर प्रति वर्ष से सैकड़ों तक भिन्न हो सकती हैं, यह इस बात पर निर्भर करता है कि यह किस प्रकार का है और कई डोमेन या उप-डोमेन जैसे विकल्प। एक मानक प्रमाणपत्र केवल यह संकेत देगा कि हस्ताक्षर करने वाले प्राधिकारी ने सत्यापित किया है कि प्रमाणपत्र प्राप्त करने वाला व्यक्ति डोमेन पर परिवर्तन कर सकता है। एक विस्तारित सत्यापन प्रमाण पत्र यह भी संकेत देगा कि हस्ताक्षरकर्ता प्राधिकरण ने कुछ उचित परिश्रम के कारण अनुरोधकर्ता और इच्छाशक्ति को प्रदर्शित किया है, आधुनिक ब्राउज़रों में, URL के भीतर या पास एक हरे रंग की पट्टी दिखाता है। यह सत्यापित करते समय कि आप डोमेन में परिवर्तन कर सकते हैं, कुछ हस्ताक्षर करने वाले अधिकारियों को आपको डोमेन नाम पर एक महत्वपूर्ण साउंडिंग पते पर ईमेल प्राप्त करना होगा, जैसे कि[email protected]। कई लोग वैकल्पिक सत्यापन की पेशकश करते हैं, जैसे कि आप अपने सर्वर पर जगह देने के लिए एक फ़ाइल देते हैं, जैसे कि /srv/http/.well-known/pki-validation/अपाचे के लिए या /usr/share/nginx/html/.well-known/pki-validation/निग्नेक्स के लिए अपनी फ़ाइल रखने के लिए, एकल होस्टिंग निर्देशिका कॉन्फ़िगरेशन के लिए; या अस्थायी रूप से CNAME प्रविष्टि बनाते हुए वे आपको आपके डोमेन के DNS रिकॉर्ड में प्रदान करते हैं।

आपके द्वारा चुने गए हस्ताक्षर करने वाले प्राधिकरण के पास कुछ अलग चरण हो सकते हैं, लेकिन अधिकांश निम्नलिखित प्रक्रिया को स्वीकार करेंगे:

उचित निर्देशिका में, एक निजी कुंजी उत्पन्न करें ( server.key):

# openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out server.key

केवल पढ़ने के लिए निजी कुंजी सेट करें, केवल रूट द्वारा:

# chmod 400 server.key

प्रमाणपत्र हस्ताक्षर अनुरोध ( server.csr) बनाएँ । आपको अपना डोमेन नाम तब देना चाहिए जब वह आपसे मांगे Common Name, और आप चुनौती पासवर्ड को खाली छोड़ सकते हैं:

# openssl req -new -sha256 -key server.key -out server.csr

केवल पढ़ने के लिए, केवल रूट द्वारा अनुरोध पर हस्ताक्षर करने का प्रमाणपत्र सेट करें:

# chmod 400 server.csr

प्रमाणपत्र हस्ताक्षर अनुरोध की सामग्री देखें। यह जानकारी base64 एनकोडेड है, इसलिए यादृच्छिक वर्णों की तरह दिखाई देगी:

# cat server.csr
-----BEGIN CERTIFICATE REQUEST-----
.....
-----END CERTIFICATE REQUEST-----

अपने हस्ताक्षर करने वाले प्राधिकरण की प्रक्रिया से गुजरें, और जब अपने सीएसआर में पेस्ट करने का अनुरोध किया जाए, तो -----लाइनों सहित इस पूरी फ़ाइल को कॉपी और पेस्ट करें । आपके द्वारा चुने गए हस्ताक्षर प्राधिकरण और प्रमाण पत्र के प्रकार के आधार पर, वे तुरंत आपको हस्ताक्षरित प्रमाण पत्र दे सकते हैं, या यह कई दिनों का हो सकता है। एक बार जब वे आपको हस्ताक्षरित प्रमाण पत्र दे देते हैं, तो इसे ( -----BEGIN CERTIFICATE-----और -----END CERTIFICATE-----लाइनों सहित ) एक फ़ाइल में नाम दें server.crt, उचित निर्देशिका में, आपके वेब सर्वर के लिए ऊपर दिया गया है, और इसे केवल पढ़ने के लिए सेट करें:

# chmod 444 server.crt

निजी कुंजी और प्रमाणपत्र का उपयोग करने के लिए अपने वेब सर्वर को कॉन्फ़िगर करें

यदि आप फ़ायरवॉल का उपयोग कर रहे हैं, तो आपको आने वाले टीसीपी ट्रैफ़िक को पोर्ट में सक्षम करना होगा 443

अपाचे के लिए

/etc/httpd/conf/httpd.confइन पंक्तियों को संपादित करें और उन्हें अनियोजित करें :

LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
Include conf/extra/httpd-ssl.conf

ध्यान दें कि यदि आप वर्चुअल होस्ट का उपयोग कर रहे हैं, तो उपरोक्त परिवर्तन /etc/httpd/conf/httpd.confसभी मेजबानों पर एक ही प्रमाणपत्र का उपयोग करेगा। डोमेन नाम से मेल खाने वाले प्रमाणपत्र के बारे में शिकायत करने वाले ब्राउज़रों से बचने के लिए प्रत्येक मेजबान को अपना स्वयं का प्रमाण पत्र देने के लिए, आपको /etc/httpd/conf/vhosts/अपने स्वयं के प्रमाण पत्र और निजी कुंजी को इंगित करने के लिए उनकी प्रत्येक कॉन्फ़िगरेशन फ़ाइलों को संपादित करने की आवश्यकता है :

  • बदलें <VirtualHost *:80>करने के लिए <VirtualHost *:80 *:443>
  • VirtualHostअनुभाग के भीतर , निम्नलिखित जोड़ें:

    SSLEngine on
    SSLCertificateFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.crt"
    SSLCertificateKeyFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.key"
    

फिर से शुरू करें:

# systemctl restart httpd

Nginx के लिए

/etc/nginx/nginx.confनीचे और पास संपादित करें , HTTPS serverअनुभाग को बाहर करें और लाइनों को निम्न में बदलें:

ssl_certificate      server.crt;
ssl_certificate_key  server.key;
root                /usr/share/nginx/html;

ध्यान दें कि यदि आप वर्चुअल होस्ट का उपयोग कर रहे हैं, तो उपरोक्त परिवर्तन को /etc/nginx/nginx.confउस स्थान पर सभी होस्ट भेज देंगे। प्रत्येक होस्ट को अपना प्रमाण पत्र देने के लिए, आपको /etc/nginx/sites-enabled/अपने स्वयं के प्रमाणपत्र और निजी कुंजी को इंगित करने के लिए एक अतिरिक्त सर्वर ब्लॉक करने के लिए उनकी प्रत्येक कॉन्फ़िगरेशन फ़ाइलों को संपादित करने की आवश्यकता है :

server {
    listen 443 ssl;
    server_name YOUR-DOMAIN-NAME.com;

    ssl_certificate      YOUR-DOMAIN-NAME.com.crt;
    ssl_certificate_key  YOUR-DOMAIN-NAME.com.key;

    ssl_session_cache   shared:SSL:1m;
    ssl_session_timeout 5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
        root /usr/share/nginx/YOUR-DOMAIN-NAME.com;
        index  index.html index.htm;
    }
}

फिर से शुरू करें:

# systemctl restart nginx


Leave a Comment

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है

डेबियन पर सेटअप NFS शेयर

डेबियन पर सेटअप NFS शेयर

एनएफएस एक नेटवर्क-आधारित फाइल सिस्टम है जो कंप्यूटरों को कंप्यूटर नेटवर्क पर फाइलों तक पहुंचने की अनुमति देता है। यह मार्गदर्शिका बताती है कि आप एनएफ पर फ़ोल्डर्स को कैसे उजागर कर सकते हैं

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है

Linux पर एक TeamTalk Server सेटअप करें

Linux पर एक TeamTalk Server सेटअप करें

टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

CentOS पर FFmpeg कैसे स्थापित करें

CentOS पर FFmpeg कैसे स्थापित करें

FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा

अपने Vultr VPS को कैसे एक्सेस करें

अपने Vultr VPS को कैसे एक्सेस करें

Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ