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.
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ı
-
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.
-
Tomcat klasörü üç dosya içerecektir:
domain_com.jkssertifika dosyasıdomain_com.keyözel anahtar dosyasıpassword.txtsertifika parolası dosyası
SSL Sertifikasının Kurulumu
- Elde ettiğiniz
domain_com.jkssertifika dosyasını yerel dizinden Tomcat sunucusundaki/usr/tomcat9.0.13/confdizinine 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.
/usr/tomcat9.0.13/confdizinindekiserver.xmldosyasını düzenleyin.server.xmldosyası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"/>
- 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
- 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.

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:
/usr/tomcat9.0.13/confdizini altındakiweb.xmldosyasını düzenleyin ve</welcome-file-list>etiketini bulun.- 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>
/usr/tomcat9.0.13/confdizini altındakiserver.xmldosyasını düzenleyin veredirectPortparametresini SSLconnectorbağ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" />
- Yapılandırma dosyasını kaydedin ve
bindizininde aşağıdaki komutu çalıştırarak yapılandırmanın doğru olup olmadığını kontrol edin.
./configtest.sh
- 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 服务器