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.
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ı
- 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.pfxsertifika dosyasıdomain_com.keyözel anahtar dosyasıpassword.txtsertifika parolası dosyası
SSL Sertifikasının Kurulumu
- Elde edilen
domain_com.pfxsertifika dosyasını yerel dizinden Tomcat sunucusunun/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 yol üzerinde işlem yapın. /usr/tomcat9.0.13/confdizinindekiserver.xmldosyasını düzenleyin.server.xmldosyasınaConnectorö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"/>
- Yapılandırma dosyasını kaydedin ve yapılandırmanın doğru olup olmadığını onaylamak için
bindizini altında aşağıdaki komutu çalıştırın.
./configtest.sh
- Tomcat'i yeniden başlatın,
bindizininde 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.

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:
/usr/tomcat9.0.13/confdizinindekiweb.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ı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" />
- Yapılandırma dosyasını kaydedin,
bindizini altında 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ş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 服务器