สวัสดีครับ สำหรับท่าน ที่ต้องการติดตั้ง SSL Certificate ให้กับ Tomcat Server 
กรณีที่ท่านทำการ Generate CSR จากระบบภายนอก และจะทำการติดตั้งโดยใช้ไฟล์ .PFX ที่ได้จากไอเรียลลีโฮส

กรณีที่ท่านใช้ KeyTool หรือ ติดตั้งตามคู่มือของ TOMCAT สามารถติดตั้งตามลิงค์ด้านล่างนี้
https://www.ireallyhost.com/kb/ssl/470

1. เตรียมการก่อนติดตั้ง

  • ทำการดาว์โหลด SSL Certificate จากศูนย์บริการ
    https://www.ireallyhost.com/client
     
  • ทำการแปลง Cert เป็น .PFX File
    https://www.ireallyhost.com/ssl/tools/ssl-converter
    https://www.ireallyhost.com/kb/ssl/464

    ** หรือสามารถ download .pfx จากระบบอัตโนมัติได้แล้วในปัจจุบัน
     
  • เงื่อนไขที่สำคัญ
    • เปิดใช้งาน TLS 1.1 1.2 ขึ้นไป , ปิด SSL2.0, SSL3.0
    • ใช้งาน OpenSSL Version 1.0 ขึ้นไป
    • แนะนำใช้งาน TOMCAT 6 ขึ้นไป
    • หากที่เครื่องติดตั้ง AppServ , XAMPP ต้องอัพเดทเวอร์ชั่น OpenSSL 1.0 ขึ้นไป

2. ทำการติดตั้ง SSL ให้กับ Tomcat 
ทำการเปิด .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

ทำการแก้ไข 

  • keystoreFile="conf/Certificate.pfx" # แก้ไขเป็น path ของ .pfx ไฟล์ของท่าน
  • keystorePass="P@ssw0rd" #ใส่รหัสผ่านของ .pfx file
 <Connector className="org.apache.catalina.connector.http.HttpConnector"
               port="8443" minProcessors="5" maxProcessors="750"
               enableLookups="true"
               keystoreFile="conf/Certificate.pfx" keystorePass="P@ssw0rd" keystoreType="PKCS12"
               acceptCount="10" debug="0" scheme="https" secure="true">
  <Factory className="org.apache.catalina.net.SSLServerSocketFactory"
            clientAuth="false" protocol="TLS"/>
</Connector>

หากใช้งาน config ด้านบนไม่ได้ ให้ลองใช้ config นี้ครับ

<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" 
maxThreads="150" SSLEnabled="true" 
keystoreFile="conf/PFXCertificate.pfx" 
keystorePass="P@ssw0rd" ></Connector>

ทำการ restart tomcat service

  • bin/catalina.sh stop
  • bin/catalina.sh start

หากท่านไม่ทราบ path ค้นหาโดยคำสั่ง

  • whereis catalina.sh

ข้อแนะนำอื่นๆ เพิ่มเติม

  • โปรดทำการตรวจสอบ Firewall ของท่านเปิด Port 80 และ 443 ไว้เรียบร้อยแล้ว
  • ทำการเรียก https เว็บไซต์ของท่าน
ท่านก็จะสามารถใช้งาน SSL กับ Tomcat ได้อย่างสมูบูรณ์
บทความโดย ไอเรียลลีโฮส


-----------------------------------

วิธีติดตั้ง SSL Tomcat V6 , Install SSL Tomcat V6

<Connector protocol="org.apache.coyote.http11.Http11Protocol"
  port="8443" minProcessors="5" maxProcessors="75"
  enableLookups="true" disableUploadTimeout="true"
  acceptCount="100"  maxThreads="200"
  scheme="https" secure="true" SSLEnabled="true"
  keystoreFile="conf/PFXCertificate.pfx" 
  keystorePass="รหัสผ่าน PFX"
  keystoreType="PKCS12"
/>

-----------------------------------

วิธีติดตั้ง SSL Tomcat V8 - V9 , Install SSL Tomcat V8 , Tomcat V9

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
    maxThreads="150" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS"	
	acceptCount="10" debug="0" 
	maxHttpHeaderSize="8192" 
    keystoreFile="D:/Tomcat 8/conf/IREALLYHOST-SSL-CertificatePFX.pfx"
    keystoreType="PKCS12"
    keystorePass="PasswordForPFXFILE" />

Error: Tomcat8 runtime error HTTP header parsing errors ให้เพิ่มคำสั่งนี้ครับ

maxHttpHeaderSize="8192" 

-----------------------------------

วิธีติดตั้ง SSL Tomcat V10, Install SSL Tomcat V10

กรณีใช้ .pfx  ไฟล์ติดตั้ง ssl ให้ tomcat

<!-- Define an SSL Coyote HTTP/1.1 Connector on port 8443 -->
<Connector
    protocol="org.apache.coyote.http11.Http11NioProtocol"
    port="8443"
    maxThreads="150"
    SSLEnabled="true">
  <SSLHostConfig>
    <Certificate
      certificateKeystoreFile="${user.home}/PFXCertificate.pfx"
      certificateKeystorePassword="changeit"
      type="RSA"
      />
    </SSLHostConfig>
</Connector>

-----------------------------------

กรณีใช้ .crt (pem format) ติดตั้ง ssl ให้ tomcat

<!-- Define an SSL Coyote HTTP/1.1 Connector on port 8443 -->
<Connector
    protocol="org.apache.coyote.http11.Http11AprProtocol"
    port="8443"
    maxThreads="150"
    SSLEnabled="true" >
  <SSLHostConfig>
    <Certificate
        certificateKeyFile="conf/private.key"
        certificateFile="conf/domain_name.crt"
        certificateChainFile="conf/CARootCertificate-ca.crt"
        type="RSA"
        />
  </SSLHostConfig>
</Connector>

 

ไอเรียลลี่โฮส
สำหรับการสนับสนุน และช่วยเหลือ
http://www.ireallyhost.com/support
ข้อกำหนดในการเผยแพร่บทความ ข่าวสาร
** บทความนี้มีลิขสิทธิ์ ไม่อนุญาติให้คัดลอก ทำซ้ำ ดัดแปลงก่อนได้รับอนุญาต **
โปรดระบุแหล่งที่มา บริษัท เอ็กซ์ตร้า คอร์ปอเรชั่น จำกัด / https://www.ireallyhost.com
ทั่วไป
คู่มือ / วิธีการติดตั้ง SSL Certificate สำหรับ cPanel Web Control Panel
บริการ SSL Certificate - โดยไอเรียลลี่โฮส