การติดตั้งใบรับรอง SSL บนเซิร์ฟเวอร์ Tomcat (รูปแบบ PFX)
คุณสามารถทำให้เซิร์ฟเวอร์ Tomcat รองรับการเข้าถึงแบบปลอดภัยด้วย HTTPS ได้โดยการติดตั้งใบรับรอง SSL ลงในเซิร์ฟเวอร์ Tomcat บทความนี้แนะนำวิธีการติดตั้งใบรับรอง SSL ในเซิร์ฟเวอร์ Tomcat
หมายเหตุ
เวอร์ชัน Tomcat ในเอกสารนี้ใช้ tomcat9.0.13 เป็นตัวอย่าง
ก่อนการติดตั้งโปรดยืนยันว่าพอร์ต 443 ไม่ถูกใช้งาน หากพอร์ต 443 ถูกใช้งานแล้ว กรุณาผูกพอร์ตอื่นเมื่อติดตั้งใบรับรอง
การขอรับใบรับรอง
- หลังจากที่เราออกใบรับรองให้คุณแล้ว เราจะมอบไฟล์ใบรับรอง (.zip) ในรูปแบบบีบอัดให้คุณ ภายในแพ็คเกจบีบอัดมีสี่โฟลเดอร์ซึ่งสอดคล้องกับใบรับรองสี่รูปแบบ: Tomcat, Nginx, IIS, Apache; เอกสารนี้ใช้รูปแบบ PFX ในการติดตั้งจึงจำเป็นต้องใช้ใบรับรองในโฟลเดอร์ IIS (โฟลเดอร์ที่ต่างกันเพียงมีรูปแบบไฟล์ที่แตกต่างกัน การใช้ไฟล์จากโฟลเดอร์อื่นไม่ขัดแย้งกัน)
- โฟลเดอร์ IIS จะประกอบด้วยสามไฟล์
domain_com.pfxไฟล์ใบรับรองdomain_com.keyไฟล์กุญแจส่วนตัวpassword.txtไฟล์รหัสผ่านใบรับรอง
การติดตั้งใบรับรอง SSL
- คัดลอกไฟล์ใบรับรอง
domain_com.pfxที่ได้รับจากไดเรกทอรีในเครื่องไปยังไดเรกทอรี/usr/tomcat9.0.13/confของเซิร์ฟเวอร์ Tomcat ชื่อพาธของ Tomcat เวอร์ชันต่างกันจะมีความแตกต่างเล็กน้อย โปรดไปยังพาธที่สอดคล้องกับบริการของคุณเพื่อดำเนินการ - แก้ไขไฟล์
server.xmlในไดเรกทอรี/usr/tomcat9.0.13/confเพิ่มแอตทริบิวต์Connectorในไฟล์server.xmlโดยมีเนื้อหาดังนี้:
<Connector port="443"
protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="/usr/tomcat9.0.13/conf/domain_com.pfx" <! -- พาธของใบรับรอง -->
keystoreType="PKCS12"
keystorePass="รหัสผ่านใบรับรอง" <! -- โปรดแทนที่ด้วยเนื้อหาในไฟล์ password.txt -->
clientAuth="false"
SSLProtocol="TLSv1.1+TLSv1.2+TLSv1.3"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
- บันทึกไฟล์คอนฟิก และรันคำสั่งต่อไปนี้ในไดเรกทอรี
binเพื่อยืนยันว่าคอนฟิกถูกต้อง
./configtest.sh
- รีสตาร์ท Tomcat และรันคำสั่งต่อไปนี้ในไดเรกทอรี
bin:
./shutdown.sh #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器
ทดสอบใบรับรอง SSL
ป้อนชื่อโดเมนที่ผูกกับใบรับรอง SSL ในแถบที่อยู่ของเบราว์เซอร์ เพื่อทดสอบว่าใบรับรอง SSL ของคุณติดตั้งสำเร็จหรือไม่ หากสำเร็จ แถบที่อยู่ของเบราว์เซอร์จะแสดงไอคอนแม่กุญแจปลอดภัย คลิกเพื่อดูข้อมูลใบรับรอง

การกำหนดค่าความปลอดภัยสำหรับการเปลี่ยนเส้นทาง HTTP ไปยัง HTTPS อัตโนมัติ (ตัวเลือก)
หากคุณต้องการเปลี่ยนเส้นทางคำขอ HTTP ไปยัง HTTPS โดยอัตโนมัติ คุณสามารถตั้งค่าได้โดยทำตามขั้นตอนต่อไปนี้:
- แก้ไขไฟล์
/usr/tomcat9.0.13/confในไดเรกทอรีweb.xmlและค้นหาแท็ก</welcome-file-list> - ขึ้นบรรทัดใหม่หลังแท็กปิด
</welcome-file-list>และเพิ่มเนื้อหาต่อไปนี้
<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
- แก้ไขไฟล์
server.xmlในไดเรกทอรี/usr/tomcat9.0.13/confโดยเปลี่ยนพารามิเตอร์redirectPortเป็นพอร์ตconnectorของ SSL ซึ่งก็คือพอร์ต 443 ดังตัวอย่างต่อไปนี้:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
- บันทึกไฟล์การกำหนดค่า และรันคำสั่งต่อไปนี้ในไดเรกทอรี
binเพื่อยืนยันว่าการกำหนดค่าถูกต้อง
./configtest.sh
- หากการกำหนดค่าไม่มีปัญหา ให้รีสตาร์ทเซิร์ฟเวอร์ Tomcat จากนั้นสามารถเข้าถึงผ่านโดเมนเนมได้ โดยจะเปลี่ยนเส้นทางจาก HTTP ไปยัง HTTPS โดยอัตโนมัติ
./shutdown.sh #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器