Tomcat'in server.xml dosyasındaki redirectPort ayarı nedir?


Yayın Tarihi:2 Ocak 2021.



INFOMARTION > Tomcat'in server.xml dosyasındaki redirectPort ayarı nedir?

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.

Sonuna kadar izlediğiniz için teşekkür ederiz.