Ana içeriğe geç

Tomcat Sunucusuna SSL Sertifikası Kurulumu (JKS Formatı)

SSL sertifikasını Tomcat sunucusuna kurarak Tomcat sunucusunun HTTPS güvenli erişimini desteklemesini sağlayabilirsiniz. Bu makalede, Tomcat sunucusuna SSL sertifikasının nasıl kurulacağı açıklanmaktadır.

Açıklama

Bu belgede Tomcat sürümü olarak tomcat9.0.13 örnek alınmıştır. Kurulumdan önce 443 portunun kullanılmadığını doğrulayın. 443 portu zaten kullanılıyorsa, sertifika kurulumu sırasında başka bir port bağlayın.

Sertifikanın Alınması

  1. Sertifikanız imzalandıktan sonra size sertifika dosyası (.zip) sıkıştırılmış biçimde verilecektir. Sıkıştırılmış pakette dört sertifika biçimine karşılık gelen dört klasör bulunur: Tomcat, Nginx, IIS, Apache. Bu belgede JKS biçimi kullanılarak kurulum yapılır ve Tomcat klasöründeki sertifika kullanılır.

  2. Tomcat klasörü üç dosya içerecektir:

  • domain_com.jks sertifika dosyası
  • domain_com.key özel anahtar dosyası
  • password.txt sertifika parolası dosyası

SSL Sertifikasının Kurulumu

  1. Elde ettiğiniz domain_com.jks sertifika dosyasını yerel dizinden Tomcat sunucusundaki /usr/tomcat9.0.13/conf dizinine kopyalayın.
  • Farklı Tomcat sürümlerinde yol adları biraz farklılık gösterebilir; lütfen hizmetinize karşılık gelen yola göre işlem yapın.
  • Bazı kullanıcıların JDK sürümü, JKS dosyasını dönüştürdüğümüz ortamın JDK sürümünden farklıysa, mevcut kullanım ortamında JKS dosyasını elle dönüştürmeniz gerekebilir.

JKS dosyası dönüştürme için aşağıdaki komuta bakın, ilgili parametreleri değiştirmeyi unutmayın:

keytool -importkeystore -srckeystore domain.pfx -srcstoretype pkcs12 -srcstorepass pfxpassword -destkeystore domain.jks -deststoretype jks -deststorepass pfxpassword

Lütfen domain.pfx (IIS klasöründeki pfx dosyası) pfxpassword (pfx dosyasının parolası) domain.jks (dönüştürülen jks dosyasının adı) pfxpassword (PFX dosyasının parolası) değerlerini değiştirin.

  1. /usr/tomcat9.0.13/conf dizinindeki server.xml dosyasını düzenleyin. server.xml dosyasına Connector özelliğini ekleyin; içerik aşağıdaki gibidir:
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="/usr/tomcat9.0.13/conf/domain_com.pfx" <! -- Sertifika yolu -->
keystorePass="Sertifika parolası" <! -- Lütfen password.txt parola dosyasındaki içerikle değiştirin -->
clientAuth="false"/>
  1. Yapılandırma dosyasını kaydedin ve bin dizininde aşağıdaki komutu çalıştırarak yapılandırmanın doğru olup olmadığını kontrol edin.
./configtest.sh
  1. Tomcat'i yeniden başlatın, bin dizininde aşağıdaki komutu çalıştırın:
./shutdown.sh  #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器

SSL Sertifikasını Test Etme

Tarayıcının adres çubuğuna SSL sertifikasının bağlı olduğu alan adını girerek SSL sertifikanızın başarıyla kurulup kurulmadığını test edin. Başarılıysa tarayıcının adres çubuğunda bir güvenli kilit simgesi görünür; tıklayarak sertifika bilgilerini görüntüleyebilirsiniz.

SSL sertifikası etkisi

HTTP'den HTTPS'ye Otomatik Yönlendirme için Güvenlik Yapılandırması (isteğe bağlı)

HTTP isteklerini HTTPS'ye otomatik olarak yönlendirmeniz gerekiyorsa, aşağıdaki adımları izleyerek ayarlayabilirsiniz:

  1. /usr/tomcat9.0.13/conf dizini altındaki web.xml dosyasını düzenleyin ve </welcome-file-list> etiketini bulun.
  2. Bitiş etiketi </welcome-file-list> sonrasında yeni bir satıra geçin ve aşağıdaki içeriği ekleyin.
<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>
  1. /usr/tomcat9.0.13/conf dizini altındaki server.xml dosyasını düzenleyin ve redirectPort parametresini SSL connector bağlantı noktasıyla, yani 443 bağlantı noktasıyla değiştirin. Aşağıda gösterildiği gibi:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
  1. Yapılandırma dosyasını kaydedin ve bin dizininde aşağıdaki komutu çalıştırarak yapılandırmanın doğru olup olmadığını kontrol edin.
./configtest.sh
  1. Yapılandırmada sorun yoksa, Tomcat sunucusunu yeniden başlatarak alan adı üzerinden erişim sağlayabilir ve HTTP'den HTTPS'e otomatik yönlendirmeyi gerçekleştirebilirsiniz.
./shutdown.sh  #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器