คำแนะนำทีละขั้นตอนเพื่อเปิดใช้งาน HTTPS หรือ SSL วิธีที่ถูกต้องบน Apache Tomcat Server – พอร์ต 8443

เผยแพร่แล้ว: 2021-04-03

เป็นเวลาเกือบ 12 ปีแล้วที่ฉันเริ่มใช้ Apache Tomcat ฉันเชื่อว่าเมื่อฉันทำโปรเจ็กต์ชั้นประถมศึกษาปีที่ 1 ของฉัน มันเป็น Tomcat เวอร์ชัน 1.x ตอนนี้เป็นเวอร์ชัน 8.0 แล้ว ส่วนใหญ่ฉันเคยติดต่อกับ Tomcat Server ในชีวิตการทำงานประจำวันของฉัน เพียงแต่ขาดมันไม่ได้

ใน Crunchify เราได้เผยแพร่บทความเกือบ 40 บทความเกี่ยวกับ Apache Tomcat แล้ว ในบทช่วยสอนส่วนใหญ่ ฉันใช้เซิร์ฟเวอร์บนพอร์ต 8080 ซึ่งเป็นพอร์ตเริ่มต้นที่กำหนดค่าไว้ในไฟล์ server.xml

ในบทช่วยสอนนี้ เราจะอธิบายทุกขั้นตอนโดยละเอียดเกี่ยวกับ how to enable HTTPS/SSL on Apache Tomcat Server

มาเริ่มกันเลย:

ขั้นตอนที่ 1. สร้างที่เก็บคีย์

keytool : เราจะสร้างคีย์ความปลอดภัยโดยใช้คำสั่ง keytool ซึ่งเป็นเครื่องมือการจัดการคีย์และใบรับรอง

สั่งการ:

ไฟล์จะถูกสร้างขึ้นภายใต้โฟลเดอร์ /Users/Shared

ฉันใช้ Mac OS X ดังนั้นให้เปลี่ยนเส้นทางของคุณตามนั้นหากคุณใช้ windows ฉันใช้รหัสผ่าน 123456

สร้าง crunchify.keystore สำหรับการตั้งค่า Apache Tomcat HTTPS - Crunchify Tips

ขั้นตอนที่ 2. สร้างคำขอลงนามใบรับรองที่ลงนามด้วยตนเอง

ใส่รหัสผ่าน: 123456

ขั้นตอนที่ 3 มาลองดูกันก่อนว่า Tomcat ทำงานบนพอร์ต 8080 ผ่าน HTTP

Start เซิร์ฟเวอร์ Tomcat โดยใช้คำสั่ง: <tomcat_home>/bin/ startup.sh

ตรวจสอบให้แน่ใจว่าคุณอยู่ในตำแหน่งเส้นทางของแมวตัวผู้ที่ถูกต้อง

กด URL: http://localhost:8080 เพื่อให้แน่ใจว่าเซิร์ฟเวอร์เปิดใช้งานอยู่

ตรวจสอบให้แน่ใจว่า Apache Tomcat ทำงานอยู่

ขั้นตอนที่ 4 ตอนนี้ตรวจสอบอินสแตนซ์ของ Tomcat บนพอร์ต 8443 ผ่าน HTTPS

  • ตอนนี้ตรวจสอบพอร์ต 8443 (HTTPS/SSL URL)
  • ตี URL: https://localhost:8443
  • คุณควรเห็นข้อความแสดงข้อผิดพลาด หน้าไม่ควรโหลดเลย

Apache Tomcat Server Startup ล้มเหลวโดยไม่มีใบรับรองที่เหมาะสม

ขั้นตอนที่ 5 อัปเดตไฟล์ /conf/server.xml

เนื่องจากเราได้สร้างที่เก็บคีย์และคำขอลงชื่อใบรับรองด้านบน เราจำเป็นต้องบอกให้ Tomcat ใช้สิ่งนั้น

  • เปิดไฟล์ server.xml ซึ่งอยู่ที่ <tomcat_home>/conf/ และแก้ไขการตั้งค่า
  • ในกรณีของเราคือโฟลเดอร์ /Users/Shared/apache-tomcat-9.0.30/conf

เพิ่มส่วนด้านล่างโดยตรงไปยังไฟล์ server.xml:

  • รหัสผ่านที่นี่คือ 123456 ซึ่งฉันใช้ใน Step-1
  • โปรโตคอล: HTTP/1.1

เปิดใช้งาน HTTPS ในไฟล์ server.xml สำหรับ Apache Tomcat

บันทึกไฟล์. ต่อไปเราจะหยุดและเริ่ม Tomcat Server

ขั้นตอนที่ 6 หยุดและเริ่ม Apache Tomcat

  • bash-3.2$ /Users/Shared/apache-tomcat-9.0.30/bin/shutdown.sh
  • bash-3.2$ /Users/Shared/apache-tomcat-9.0.30/bin/startup.sh

ขั้นตอนที่ 7 ตรวจสอบ URL HTTPS และการรับรอง: https://localhost:8443

ตอนนี้กด URL ที่ปลอดภัยของ HTTPS อีกครั้งเพื่อตรวจสอบหน้าที่โหลดสำเร็จ

โครเมียม:

  • ตามค่าเริ่มต้น Chrome Blocks all insecure HTTPS โหลด
  • เปิดใช้งานการ Chrome flag เพื่อโหลดใบรับรองที่ไม่ถูกต้องสำหรับทรัพยากรที่โหลดจาก localhost
    1. ไปที่ Chrome
    2. เปิดแท็บ
    3. ประเภท: chrome://flags/#allow-insecure-localhost
    4. เปิดใช้งานการตั้งค่าสถานะจากดรอปดาวน์
    5. เปิด Chrome อีกครั้ง

Google Chrome อนุญาต-ไม่ปลอดภัย-localhost - Apache Tomcat

Safari และ Mozilla Firefox:

  • Accept invalid certificate error ที่ไม่ถูกต้องและเยี่ยมชมเว็บไซต์

คุณควรเห็นหน้า Apache Tomcat โหลดผ่าน HTTPS บนพอร์ต 8443

Apache tomcat ทำงานบนพอร์ต 8443 ผ่าน HTTPS

คุณพร้อมแล้ว คุณสังเกตเห็น red padlock หรือไม่? ไม่ต้องกังวล เราไม่ได้ซื้อใบรับรอง SSL จาก Verisign หรือ Comodo

ในสภาพแวดล้อมการผลิต คุณอาจไม่เห็นเครื่องหมายกาชาดนั้น

คลิกที่ใบรับรองในเบราว์เซอร์และใบรับรองที่ลงนามเองโดยค่าเริ่มต้นควร valid for 90 วัน

ตรวจสอบ Crunchify Certificate ที่เราได้สร้างในขั้นตอนที่ 1

คะแนนโบนัส:

จะตรวจสอบ cert content ของคุณโดยใช้คำสั่ง keytool ได้อย่างไร

ผลลัพธ์: