redirectPort Tomcat: batasan keamanan HTTPS dan connector


Tanggal publikasi:

Diperbarui:


Artikel teknis > redirectPort Tomcat: batasan keamanan HTTPS dan connector

Konteks 2026 dan penggunaan yang aman

Kesimpulan: redirectPort memberitahu konektor Tomcat non-TLS dimana untuk mengarahkan permintaan ketika batasan keamanan aplikasi web yang dikerahkan memerlukan transportasi rahasia. Ini tidak membuat konektor TLS, memaksa HTTPS untuk setiap permintaan, atau mengganti kebijakan redirect proksi.

Yang akan Anda pelajari

  • Bagaimana <transport-guarantee>CONFIDENTIAL</transport-guarantee> mengaktifkan redireksi-dikelola.
  • Mengapa port target harus sesuai dengan konektor HTTPS bekerja atau topologi proksi dirancang dengan benar.
  • Bagaimana langsung Tomcat TLS berbeda dari penghentian TLS pada Server Apache HTTP atau proksi lain.

Untuk siapa ini: Administrator web Java meninjau konektor Tomcat dan pengaturan batasan aplikasi.

Konteks 2026: Contoh Tomcat 9 di bawah ini tetap konseptual, tapi atribut konektor dan penanganan proksi harus sesuai dengan keluarga Tomcat yang didukung. Hindari redirect loops dan skema salah dengan konfigurasi terpercaya proxy header sengaja.

Catatan keamanan: Contoh perintah dan konfigurasi dalam artikel asli belum dijalankan ulang dalam lingkungan produksi saat ini. Verifikasi versi yang didukung, cadangan, kendali akses, dan langkah rollback dalam lingkungan tes yang terpisah sebelum menerapkannya.

Sumber resmi utama

Ikhtisar

Ketika saya melihat pengaturan port dalam konfigurasi server.xml Tomcat, ada pengaturan yang disebut 'redirectPort', tetapi saya tidak tahu apa pengaturan ini ketika saya mencarinya di Google, jadi saya mencarinya.

Pengaturan berikut ini.

server.xml


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

Daftar isi

  1. Apa itu redirectPort?
  2. ringkasan

1. Apa itu redirectPort?

Ternyata, tampaknya itu adalah pengaturan yang mengarahkan Anda ketika Anda mengakses halaman yang menentukan bahwa SSL diperlukan.

Jika nilai konfigurasi server.xml adalah

server.xml


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

Jika URL "http://hoge:8080/hoge.html" diakses, tampaknya mengarahkan pengguna untuk mengakses URL "https://hoge:8443/hoge.html".

Fakta bahwa SSL adalah wajib harus didefinisikan dalam "web.xml". (“<transport-guarantee>CONFIDENTIAL</transport-guarantee>”)Saat disiapkan, SSL adalah wajib. Sertakan informasi berikut ini dalam web.xml.

web.xml


~ringkasan~
    <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>

Karena url-pattern adalah "/", pengaturan ini membuat semua URL memerlukan SSL dan pengalihan. Jika SSL tidak ditentukan sebagai wajib, itu adalah nilai konfigurasi yang tidak digunakan. Meskipun "redirectPort="8443" diatur dalam nilai default Tomcat, pengaturan untuk mengaktifkan port 8443 itu sendiri tampaknya tidak valid dengan nilai default Tomcat, jadi mungkin ada banyak orang yang "redirectPort="8443" "diatur tanpa kesadaran tetapi Saya pikir, ada banyak orang yang port 8443 dari tujuan pengalihan tidak diaktifkan.

1-1. dasar

Kami ingin menjelaskan dasar kesimpulan di atas. Halaman Tomcat menyatakan hal berikut.

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.”

Intinya adalah "mengakses halaman dengan batasan keamanan yang menentukan bahwa SSL diperlukan, seperti yang disyaratkan oleh spesifikasi servlet". Ini adalah pengaturan web.xml yang baru saja Anda konfigurasikan. Intinya adalah bahwa persyaratan SSL adalah spesifikasi servlet, dan tampaknya akan dialihkan ketika diterapkan.

2. ringkasan

Bagian ini menjelaskan pengaturan redirectPort di server.xml Tomcat. Harap merujuk ke ini ketika menyiapkan redirectPort.

Semoga penjelasan ini membantu.