กำหนดค่า Apache ด้วยใบรับรอง TLS / SSL ที่ลงชื่อด้วยตนเองบน Ubuntu 16.04

SSL และผู้สืบทอด TLS (Secure Sockets Layer / Transport Layer Security) เพิ่มชั้นของการเข้ารหัสระหว่างไคลเอนต์และเซิร์ฟเวอร์ หากไม่มีเทคโนโลยีนี้ข้อมูลจะถูกส่งไปยังเซิร์ฟเวอร์เป็นข้อความธรรมดาทำให้บุคคลที่สามสามารถอ่านข้อมูลทั้งหมดที่เซิร์ฟเวอร์ของคุณส่งและรับ

บทช่วยสอนนี้จะสอนวิธีสร้างใบรับรอง SSL / TLS และเปิดใช้งานบน Apache 2.4 บน Ubuntu 16.04 ฉันถือว่า Apache ติดตั้งและใช้งานแล้ว หากคุณต้องการเรียนรู้วิธีการติดตั้งสแต็ค LAMP ดูเอกสาร Vultrนี้

ความสนใจ

ปกติแล้วใบรับรอง SSL / TLS จะถูกสร้างขึ้นโดย CA ที่เชื่อถือได้ (หน่วยงานออกใบรับรอง) เมื่อสร้างด้วยตัวคุณเองคุณจะเป็นผู้ลงนามหมายความว่าเบราว์เซอร์จะไม่สามารถตรวจสอบว่าตัวตนของใบรับรองควรเชื่อถือได้หรือไม่และจะเตือนผู้ใช้ แม้ว่าจะเป็นไปได้ที่จะข้ามการแจ้งเตือนนี้ไซต์สาธารณะควรใช้ใบรับรองที่ลงนามโดย CA ที่เชื่อถือได้ Let's เข้ารหัสเป็น CA ที่ให้บริการใบรับรองฟรี คุณสามารถเรียนรู้วิธีการติดตั้งใบรับรองของพวกเขาใน Apache และ Ubuntu 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) []:
    

    ชื่อสามัญควรเป็นชื่อโดเมนของคุณหรือที่อยู่ IP ของเซิร์ฟเวอร์ นอกจากนี้กรอกอีเมลของคุณ

    Common Name (e.g. server FQDN or YOUR name) []: 203.0.113.122
    Email Address []:webmaster@example.com
    
  3. ตอนนี้ย้ายใบรับรองไปยังโฟลเดอร์การกำหนดค่า Apache

    mkdir /etc/apache2/ssl
    mv ~/certificates/* /etc/apache2/ssl/.
    
  4. ใบรับรองพร้อมแล้ว! ต่อไปเราจะเตรียม Apache ให้ทำงานกับใบรับรอง

ขั้นตอนที่ 2: การกำหนดค่าไฟร์วอลล์

  1. เราต้องแน่ใจว่าพอร์ต TCP 443 เปิดอยู่ พอร์ตนี้ใช้ในการเชื่อมต่อ SSL แทนพอร์ต 80 ในบทช่วยสอนนี้เราจะใช้ UFW

  2. ตรวจสอบให้แน่ใจว่าเปิดใช้งาน UFW แล้ว

    sudo ufw enable
    
  3. ตอนนี้อนุญาตการตั้งค่า Apache ที่กำหนดไว้ล่วงหน้าสำหรับไฟร์วอลล์

    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. คุณควรอนุญาตให้ OpenSSH ที่นี่สำหรับการเชื่อมต่อในอนาคต

    sudo ufw allow 'OpenSSH'
    

ขั้นตอนที่ 3: การกำหนดค่าโฮสต์เสมือน Apache

  1. นำทางไปยังไดเรกทอรีกำหนดค่าเริ่มต้นของไซต์ Apache

    sudo nano /etc/apache2/sites-available/default-ssl.conf
    
  2. ไฟล์นี้บอกเซิร์ฟเวอร์ว่าจะค้นหาใบรับรอง SSL จากที่ใด เมื่อลบความคิดเห็นแล้วควรมีลักษณะเหมือนการกำหนดค่าต่อไปนี้

    <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@example.net
    
  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@example.net
      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: การเปิดใช้งานโมดูล Apache SSL

  1. เปิดใช้งานโมดูล SSL โดยพิมพ์:

    sudo a2enmod ssl
    
  2. ตอนนี้เปิดใช้งานไซต์ที่เราเพิ่งแก้ไข:

    sudo a2ensite default-ssl.conf
    
  3. รีสตาร์ท Apache:

    sudo service apache2 restart
    
  4. ไปที่เว็บไซต์ความปลอดภัยใหม่! เปิดในเบราว์เซอร์ของคุณ (ให้แน่ใจว่าคุณพิมพ์https: // )

    https://YOUR_SERVER_IP
    

เบราว์เซอร์ของคุณจะเตือนคุณว่าใบรับรองไม่ถูกต้องตามที่เราคาดไว้ สิ่งนี้เกิดขึ้นเนื่องจากใบรับรองไม่ได้ลงชื่อ ทำตามขั้นตอนที่เบราว์เซอร์เสนอเพื่อไปยังไซต์ของคุณ

ขั้นตอนที่ 5: เปลี่ยนเส้นทางการรับส่งข้อมูล HTTP ทั้งหมดไปยัง HTTPS (ไม่บังคับ)

  1. เปิดไฟล์โฮสต์เสมือน Apache ที่เป็นค่าเริ่มต้น:

    nano /etc/apache2/sites-available/000-default.conf
    
  2. เพิ่มบรรทัดนี้ภายใน<VirtualHost *:80>แท็ก:

    Redirect / https://YOUR_SERVER_IP_OR_DOMAIN/
    
  3. โหลดการกำหนดค่า Apache อีกครั้ง:

    sudo service apache2 reload
    

อัตราการเข้าชมเว็บไซต์ทั้งหมดจะเปลี่ยนเส้นทางไปยัง HTTPS โดยอัตโนมัติ

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true