Ubuntu 16.04 पर स्व-हस्ताक्षरित टीएलएस / एसएसएल प्रमाणपत्र के साथ अपाचे को कॉन्फ़िगर करें

एसएसएल, और इसके उत्तराधिकारी टीएलएस (सिक्योर सॉकेट्स लेयर / ट्रांसपोर्ट लेयर सिक्योरिटी) क्लाइंट और सर्वर के बीच एन्क्रिप्शन की एक परत जोड़ते हैं। इस तकनीक के बिना, डेटा को सादे पाठ में सर्वर पर भेजा जाता है, जिससे तीसरे पक्ष को आपके सर्वर द्वारा भेजी और प्राप्त सभी जानकारी को पढ़ने की अनुमति मिलती है।

यह ट्यूटोरियल आपको सिखाएगा कि SSL / TLS प्रमाणपत्र कैसे बनाया जाए और इसे Ubuntu 16.04 पर Apache 2.4 पर सक्रिय किया जाए। मुझे लगता है कि अपाचे पहले से ही स्थापित है और चल रहा है। यदि आप सीखना चाहते हैं कि LAMP स्टैक को कैसे स्थापित किया जाए, तो इस Vultr doc को देखें

ध्यान

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

आंतरिक अनुप्रयोगों के लिए, स्व-हस्ताक्षरित प्रमाण पत्र का उपयोग करना मान्य हो सकता है, खासकर यदि आपके पास डोमेन नाम नहीं है।


चरण 1: प्रमाण पत्र बनाना

  1. सबसे पहले, फ़ाइल को स्टोर करने के लिए एक जगह बनाएं।

    mkdir ~/certificates
    cd ~/certificates
    
  2. CSR और निजी कुंजी उत्पन्न करें।

    openssl req -x509 -newkey rsa:4096 -keyout apache.key -out apache.crt -days 365 -nodes
    

    यह प्रमाणपत्र अनुरोध के लिए जानकारी मांगेगा। उपयुक्त जानकारी के साथ पूरा करें।

    Country Name (2 letter code) [AU]: US
    State or Province Name (full name) [Some-State]: FL
    Locality Name (eg, city) []: Miami
    Organization Name (eg, company) [My Company]: My Company
    Organizational Unit Name (eg, section) []:
    

    सामान्य नाम आपके डोमेन नाम या सर्वर का आईपी पता होना चाहिए। इसके अलावा, अपना ईमेल भरें।

    Common Name (e.g. server FQDN or YOUR name) []: 203.0.113.122
    Email Address []:[email protected]
    
  3. अब, प्रमाणपत्र को अपाचे कॉन्फ़िगरेशन फ़ोल्डर में ले जाएं।

    mkdir /etc/apache2/ssl
    mv ~/certificates/* /etc/apache2/ssl/.
    
  4. प्रमाण पत्र तैयार है! अगला, हम प्रमाण पत्र के साथ काम करने के लिए अपाचे तैयार करेंगे।

चरण 2: फ़ायरवॉल कॉन्फ़िगरेशन

  1. हमें यह सुनिश्चित करना होगा कि TCP पोर्ट 443 खुला है। यह पोर्ट 80 के बजाय SSL कनेक्शन में उपयोग किया जाता है। इस ट्यूटोरियल में, हम UFW का उपयोग करेंगे।

  2. सुनिश्चित करें कि UFW सक्षम है।

    sudo ufw enable
    
  3. अब फ़ायरवॉल के लिए पूर्वनिर्धारित अपाचे सेटिंग्स को अनुमति दें।

    sudo ufw allow 'Apache Full'
    
  4. " sudo ufw status" टाइप करके , आप वर्तमान नियमों की एक सूची देख सकते हैं। आपका कॉन्फ़िगरेशन इस जैसा होना चाहिए:

    To                         Action      From
    --                         ------      ----
    Apache Full                ALLOW       Anywhere
    OpenSSH                    ALLOW       Anywhere
    Apache Full (v6)           ALLOW       Anywhere (v6)
    OpenSSH (v6)               ALLOW       Anywhere (v6)
    
  5. आपको भविष्य के कनेक्शन के लिए यहां ओपनएसएसएच की अनुमति भी देनी चाहिए।

    sudo ufw allow 'OpenSSH'
    

चरण 3: अपाचे आभासी मेजबान विन्यास

  1. डिफ़ॉल्ट अपाचे साइट कॉन्फिग डायरेक्टरी में नेविगेट करें।

    sudo nano /etc/apache2/sites-available/default-ssl.conf
    
  2. यह फाइल सर्वर को बताती है कि एसएसएल सर्टिफिकेट कहां देखना है। हटाए गए टिप्पणियों के साथ, इसे निम्न कॉन्फ़िगरेशन जैसा दिखना चाहिए।

    <IfModule mod_ssl.c>
      <VirtualHost _default_:443>
       ServerAdmin webmaster@localhost
    
       DocumentRoot /var/www/html
    
       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
    
       SSLEngine on
    
       SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
       SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
    
       <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
       </FilesMatch>
       <Directory /usr/lib/cgi-bin>
        SSLOptions +StdEnvVars
       </Directory>
    
     </VirtualHost>
    </IfModule>
    
  3. इस पंक्ति को संपादित करें:

    ServerAdmin [email protected]
    
  4. इस ServerAdminपंक्ति के ठीक नीचे जोड़ें :

    ServerName ADD_YOUR_IP_OR_DOMAIN_NAME_HERE
    
  5. अब, हमारे प्रमाणपत्र स्थान के साथ इन पंक्तियों को संपादित करें:

    SSLCertificateFile    /etc/apache2/ssl/apache.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key
    
  6. हमारी अंतिम फ़ाइल इसे सदृश होनी चाहिए:

    <IfModule mod_ssl.c>
     <VirtualHost _default_:443>
      ServerAdmin [email protected]
      ServerName 203.0.113.122
    
      DocumentRoot /var/www/html
    
      ErrorLog ${APACHE_LOG_DIR}/error.log
      CustomLog ${APACHE_LOG_DIR}/access.log combined
    
      SSLEngine on
    
      SSLCertificateFile    /etc/apache2/ssl/apache.crt
      SSLCertificateKeyFile /etc/apache2/ssl/apache.key
    
      <FilesMatch "\.(cgi|shtml|phtml|php)$">
       SSLOptions +StdEnvVars
      </FilesMatch>
      <Directory /usr/lib/cgi-bin>
       SSLOptions +StdEnvVars
      </Directory>
    
     </VirtualHost>
    </IfModule>
    
  7. फ़ाइल को सहेजें और बंद करें।

चरण 4: अपाचे एसएसएल मॉड्यूल को सक्षम करना

  1. टाइप करके SSL मॉड्यूल सक्षम करें:

    sudo a2enmod ssl
    
  2. अब हमारे द्वारा संपादित साइट को सक्षम करें:

    sudo a2ensite default-ssl.conf
    
  3. फिर से शुरू करें:

    sudo service apache2 restart
    
  4. चलो नई सुरक्षित वेबसाइट का उपयोग करें! इसे अपने ब्राउज़र में खोलें (सुनिश्चित करें कि आप https: // टाइप करें )।

    https://YOUR_SERVER_IP
    

आपका ब्राउज़र आपको चेतावनी देगा कि प्रमाणपत्र अमान्य है, जैसा कि हमने उम्मीद की थी। ऐसा इसलिए होता है क्योंकि प्रमाणपत्र पर हस्ताक्षर नहीं किए जाते हैं। अपनी साइट पर आगे बढ़ने के लिए अपने ब्राउज़र द्वारा दिए गए चरणों का पालन करें।

चरण 5: HTTPS (वैकल्पिक) के लिए सभी HTTP ट्रैफ़िक को पुनर्निर्देशित करें

  1. अपाचे डिफ़ॉल्ट वर्चुअल होस्ट फ़ाइल खोलें:

    nano /etc/apache2/sites-available/000-default.conf
    
  2. इस लाइन को <VirtualHost *:80>टैग के अंदर जोड़ें :

    Redirect / https://YOUR_SERVER_IP_OR_DOMAIN/
    
  3. पुनः लोड अपाचे विन्यास:

    sudo service apache2 reload
    

सभी वेबसाइट ट्रैफ़िक अब स्वचालित रूप से HTTPS पर रीडायरेक्ट हो जाएंगे।



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 फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ