Tomcat redirectPort: HTTPS güvenlik kısıtları ve connector'lar


Yayın tarihi:

Güncelleme:


Teknik makaleler > Tomcat redirectPort: HTTPS güvenlik kısıtları ve connector'lar

2026 bağlamı ve güvenli kullanım

Sonuç: redirectPort, TLS olmayan Tomcat bağlayıcıya, dağıtılan web uygulamasının güvenlik kısıtlaması gizli bir aktarım gerektirdiğinde isteğin nereye yönlendirileceğini söyler. TLS bağlayıcısı oluşturmaz, her istek için HTTPS'yi zorlamaz veya uç proxy yönlendirme politikasının yerini almaz.

Ne öğreneceksiniz

  • <transport-guarantee>CONFIDENTIAL</transport-guarantee>, kapsayıcı tarafından yönetilen yeniden yönlendirmeyi nasıl etkinleştirir.
  • Hedef bağlantı noktasının neden çalışan bir HTTPS bağlayıcıya veya doğru tasarlanmış proxy topolojisine karşılık gelmesi gerektiği.
  • Tomcat TLS'nin Apache HTTP Sunucusu veya başka bir proxy'deki TLS sonlandırmasından doğrudan farkı nedir?

Bu kimin için: Tomcat bağlayıcı ve uygulama güvenlik kısıtlaması ayarlarını inceleyen Java web yöneticileri.

2026 bağlamı: Aşağıdaki Tomcat 9 örneği kavramsal olarak kalmaya devam ediyor ancak bağlayıcı özellikleri ve proxy kullanımı, desteklenen Tomcat ailenizle eşleşmelidir. Güvenilir proxy başlıklarını bilinçli olarak yapılandırarak yönlendirme döngülerinden ve yanlış planlardan kaçının.

Güvenlik notu: Orijinal makaledeki komutlar ve yapılandırma örnekleri mevcut üretim ortamında yeniden çalıştırılmamıştır. Desteklenen sürümleri, yedeklemeleri, erişim kontrollerini ve geri alma adımlarını uygulamadan önce ayrı bir test ortamında doğrulayın.

Başlıca resmî kaynaklar

Genel bakış

Tomcat'in server.xml yapılandırmasında port ayarına baktığımda 'redirectPort' diye bir ayar vardı ama Google'da arattığımda bu ayarın ne olduğunu bulamadım, ben de araştırdım.

Aşağıdaki ayarlar.

server.xml


    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

İçindekiler

  1. redirectPort nedir?
  2. özet

1. redirectPort nedir?

Görünüşe göre, SSL'in gerekli olduğunu belirten bir sayfaya eriştiğinizde sizi yönlendiren bir ayar gibi görünüyor.

Eğer server.xml yapılandırma değerleri

server.xml


    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

"http://hoge:8080/hoge.html" URL'sine erişilirse, kullanıcıyı "https://hoge:8443/hoge.html" URL'sine erişmesi için yönlendiriyor gibi görünür.

SSL'in zorunlu olduğu gerçeği "web.xml" içinde tanımlanmalıdır. (“<transport-guarantee>CONFIDENTIAL</transport-guarantee>”)Kurulduğunda, SSL zorunludur. Aşağıdaki bilgileri web.xml dosyasına ekleyin.

web.xml


~KISALTMA~
    <security-constraint>
      <web-resource-collection>
        <web-resource-name>twx-portal</web-resource-name>
        <url-pattern>/*</url-pattern>
      </web-resource-collection>
      <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
      </user-data-constraint>
    </security-constraint>

</web-app>

url-pattern "/" olduğundan, bu ayar tüm URL'leri SSL gerektiren ve yönlendiren yapar. SSL zorunlu olarak belirtilmemişse, kullanılmayan bir yapılandırma değeridir. Tomcat'in varsayılan değerinde "redirectPort="8443" ayarlanmış olmasına rağmen, 8443 bağlantı noktasını etkinleştirme ayarı Tomcat'in varsayılan değeriyle geçersiz görünüyor, bu nedenle "redirectPort="8443" ayarının farkında olmadan ayarlandığı birçok kişi olabilir, ancak Yönlendirme hedefinin 8443 bağlantı noktasının etkinleştirilmediği birçok kişi olduğunu düşünüyorum.

1-1. temel

Yukarıdaki sonuçların temelini açıklamak istiyoruz. Tomcat sayfası aşağıdakileri belirtir.

http://tomcat.apache.org/tomcat-9.0-doc/ssl-howto.html

“If you change the port number here, you should also change the value specified for the redirectPort attribute on the non-SSL connector. This allows Tomcat to automatically redirect users who attempt to access a page with a security constraint specifying that SSL is required, as required by the Servlet Specification.”

Mesele, "servlet spesifikasyonunun gerektirdiği şekilde SSL'nin gerekli olduğunu belirten güvenlik kısıtlamalarına sahip bir sayfaya erişmektir". Bu, az önce yapılandırdığınız web.xml ayarıdır. Mesele şu ki, SSL gereksinimi bir servlet spesifikasyonudur ve uygulandığında yeniden yönlendirilmiş gibi görünmektedir.

2. özet

Bu bölümde Tomcat'in server.xml dosyasındaki redirectPort ayarları açıklanmaktadır. Lütfen redirectPort'u ayarlarken buna bakın.

Umarız bu açıklama yararlı olmuştur.