วิธีการติดตั้ง SSL Certificate ให้กับ Tomcat Server ท่านต้องทำการติดตั้ง OpenSSL และ TomCat ไว้เรียบร้อยแล้ว
และสามารถดำเนินการติดตั้ง SSL ได้ดังนี้

ขั้นตอนเตรียมการ


  • ทำการติดตั้ง Tomcat เรียบร้อยแล้ว
  • ทำการติดตั้ง OpenSSL
  • สามารถตั้งชื่อไฟล์ เปลี่ยน your_site_name เป็นชื่อที่ต้องการ
    และตรวจสอบชื่อไฟล์ ใน command เป็นอักษร พิมพ์เล็ก และพิมพ์ใหญ่ให้ถูกต้อง
    เนื่องจากใน linux อักษรพิมพ์เล็กไม่เท่ากับ อักษรพิมพ์ใหญ่
    เช่น certificate.p7b และ Certificate.p7b ถือว่าเป็นคนละไฟล์กัน
  • ตรวจสอบโฟลเดอร์ ssl ใน tomcat
    ls /usr/libexec/tomcat9/ssl
    * เปลี่ยนเลขเวอร์ชั่นที่ท่านใช้งาน

1. ทำการสร้าง Keystore ด้วย Keytool

keytool -genkey -alias server -keyalg RSA -keysize 2048 -keystore your_site_name.jks
Enter keystore password:
ระบุ ตั้งรหัสผ่านใดๆ ตามที่ต้องการ * ห้ามลืม *
----------------------------
What is your first and last name?
  [Unknown]:  ระบุชื่อโดเมน.com หรือ *.your-domain.com
What is the name of your organizational unit?
  [Unknown]:  IT
What is the name of your organization?
  [Unknown]:  ชื่อบริษัท หรือ ชื่อโดเมน
What is the name of your City or Locality?
  [Unknown]:  Bangkok
What is the name of your State or Province?
  [Unknown]:  Bangkok
What is the two-letter country code for this unit?
  [Unknown]:  TH
----------------------------ตรวจสอบ------------------------------
Is CN=domain.com, OU=it, O=organization_name, L=bangkok, ST=bangkok, C=TH correct?
  [no]:  yes

 2. ทำการ Generate สร้าง CSR Code จาก Keystore 

keytool -certreq -alias server -file csr.txt -keystore your_site_name.jks
  • cat csr.txt

3. นำ CSR Code ที่ได้ไปทำการ Request SSL Certificate

นำ CSR Code ที่ได้ นำไป request new certificate จากทางระบบของไอเรียลลีโฮส โดยเข้าไปยัง
ศูนย์บริการ > ระบบสมาชิก > SSL Certificate 
หรือ https://www.ireallyhost.com/client/service/ssl/

 

ขั้นตอนการติดตั้ง SSL Certificate ให้กับ Tomcat


4. ทำการแปลง Certificate PEM ไฟล์ (.cert, .crt) เป็น PKCS#7 (.p7b) ไฟล์

openssl crl2pkcs7 -nocrl -certfile ServerCertificate.cer -certfile CARootCertificate-ca.crt -out certificate.p7b 

เปลี่ยนชื่อไฟล์ เป็นชื่อไฟล์ที่ท่านได้รับจากไอเรียลลีโฮส

  • ServerCertificate.cer  ไฟล์ที่ได้จากไอเรียลีโฮส
  • CARootCertificate-ca.crt ไฟล์ที่ได้จากไอเรียลีโฮส
  • Certificate.p7b ไฟล์ที่ได้จากการ Convert

5. ทำการติดตั้ง SSL ให้กับ Tomcat

keytool -import -trustcacerts -alias server -file certificate.p7b -keystore your_site_name.jks
  • ยืนยัน Certificate reply was installed in keystore.
  • กด Y หรือ Yes

6. ทำการเปิด .xml ไฟล์ ใน conf folder ในเซิร์ฟเวอร์

  • โดยปกติแล้วจะอยู่ที่  C:/Program Files/Apache Software/Foundation/Tomcat 9.0/conf
    หรือ /usr/libexec/tomcat9/conf  หรือ /etc/tomcat/conf
     
  • แก้ไข config เช่น /etc/tomcat/conf/server.xml
    ทำการ uncomment และตั้งชื่อไฟล์ใน config ให้สัมพันธ์ กับไฟล์ SSL
    <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
                   maxThreads="150" SSLEnabled="true" keystoreFile="/etc/tomcat/conf/your_domain_name.jks" keystorePass="your_keystore_password"></Connector>
    
    หรือ Config แบบเต็ม
    
    < Connector port="443" maxHttpHeaderSize="8192" maxThreads="150"  minSpareThreads="25" maxSpareThreads="75"  enableLookups="false" disableUploadTimeout="true"  acceptCount="100" scheme="https" secure="true" SSLEnabled="true" clientAuth="false" sslProtocol="TLS" keyAlias="server"  keystoreFile="/etc/tomcat/conf/your_domain_name.jks"  keystorePass="your_keystore_password" />

    Config แบบ SSL PEM FILE (ต้องติดตั้ง OPENSSL ด้วย) 

    
    	<Connector
    		protocol="org.apache.coyote.http11.Http11AprProtocol"
    		port="8443"
    		maxThreads="150"
    		SSLEnabled="true" >
    	  <SSLHostConfig>
    		<Certificate
    			certificateKeyFile="conf/ssl/PrivateKey.key"
    			certificateFile="conf/ssl/Certificate.cer"
    			certificateChainFile="conf/ssl/CA.cer"
    			type="RSA"
    			/>
    	  </SSLHostConfig>
    	</Connector>

     

  • ทำการ restart tomcat service
  • bin/catalina.sh stop
  • bin/catalina.sh start
  • โปรดทำการตรวจสอบ Firewall ของท่านเปิด Port 80 และ 443 ไว้เรียบร้อยแล้ว
  • ทำการเรียก https เว็บไซต์ของท่าน
ท่านก็จะสามารถใช้งาน SSL กับ Tomcat ได้อย่างสมูบูรณ์
บทความโดย ไอเรียลลีโฮส
ไอเรียลลี่โฮส
สำหรับการสนับสนุน และช่วยเหลือ
http://www.ireallyhost.com/support
ข้อกำหนดในการเผยแพร่บทความ ข่าวสาร
** บทความนี้มีลิขสิทธิ์ ไม่อนุญาติให้คัดลอก ทำซ้ำ ดัดแปลงก่อนได้รับอนุญาต **
โปรดระบุแหล่งที่มา บริษัท เอ็กซ์ตร้า คอร์ปอเรชั่น จำกัด / https://www.ireallyhost.com
ทั่วไป
คู่มือ / วิธีการติดตั้ง SSL Certificate สำหรับ cPanel Web Control Panel
บริการ SSL Certificate - โดยไอเรียลลี่โฮส