Ana içeriğe geç

Tomcat Sunucusuna SSL Sertifikası Kurulumu (PFX Formatı)

Tomcat sunucusuna SSL sertifikası 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ü örnek olarak tomcat9.0.13 kullanılmıştır. Kurulumdan önce 443 numaralı bağlantı noktasının kullanılmadığını doğrulayın. 443 numaralı bağlantı noktası zaten kullanılıyorsa, sertifikayı kurarken başka bir bağlantı noktası bağlayın.

Sertifikanın Alınması

  1. Sertifikanız imzalandıktan sonra size sıkıştırılmış (.zip) biçimde bir sertifika dosyası 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 kurulum için PFX biçimi kullanıldığından IIS klasöründeki sertifikanın kullanılması gerekir. (Farklı klasörler yalnızca dosya biçimi açısından farklılık gösterir; diğer klasörlerdeki dosyaların kullanılması bir çakışmaya neden olmaz.) 2.IIS klasörü üç dosya içerecektir:
  • domain_com.pfx sertifika dosyası
  • domain_com.key özel anahtar dosyası
  • password.txt sertifika parolası dosyası

SSL Sertifikasının Kurulumu

  1. Elde edilen domain_com.pfx sertifika dosyasını yerel dizinden Tomcat sunucusunun /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 yol üzerinde işlem yapın.
  2. /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"
scheme="https"
secure="true"
keystoreFile="/usr/tomcat9.0.13/conf/domain_com.pfx" <! -- Sertifikanın yolu -->
keystoreType="PKCS12"
keystorePass="证书密码" <! -- Lütfen password.txt parola dosyasındaki içerikle değiştirin -->
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"/>
  1. Yapılandırma dosyasını kaydedin ve yapılandırmanın doğru olup olmadığını onaylamak için bin dizini altında aşağıdaki komutu çalıştırın.
./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ı 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ı adres çubuğunda bir güvenli kilit simgesi görüntülenir; tıklayarak sertifika bilgilerini görüntüleyebilirsiniz.

SSL sertifikası efekti

HTTP'den HTTPS'ye Otomatik Yönlendirme Güvenlik Yapılandırması (İsteğe Bağlı)

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

  1. /usr/tomcat9.0.13/conf dizinindeki 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ına, yani 443 numaralı bağlantı noktasına 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, bin dizini altında 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şlatmanız yeterlidir; ardından alan adı üzerinden erişebilir ve HTTP’nin otomatik olarak HTTPS’e yönlendirilmesini sağlayabilirsiniz.
./shutdown.sh  #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器