Soru Tomcat için yönlendirme portu nedir?


Tomcat dokümantasyonunu anlamak ve server.xml'ye bakmak zor, anlaşılması zor olabilecek bir bağlantı noktası bulursunuz, çünkü dokümantasyonda doğru bir şekilde veya kapsamlı olarak açıklanmadığı için.

Örneğin, yapılandırma dosyasındaki bu satır server.xml

<Connector port="8345" protocol="AJP/1.3" redirectPort="9875" />

Ve burada başka bir yönlendirme portu bulabilirsiniz:

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

Konnektör portunun ne yaptığını anlıyorum. İlk durumda bunu apache'de bir işçi oluşturmak ve oraya göndermek için kullanırsınız, ikincisinde doğrudan tomcat'e erişmek için bir port açarsınız. Ancak, yeniden yönlendirme söz konusu olduğunda, şeyler bulanıklaşır.

İşte ajp portu için tomcat dokümantasyonunun verdiği açıklama:

Bu Bağlayıcı SSL olmayan istekleri destekliyorsa ve bir istek varsa   eşleşen bir SSL gerektirir   taşıma, Catalina isteği otomatik olarak yönlendirecek   Burada belirtilen port numarası.

Ben her zaman 1024 üzerinde rastgele bir yönlendirme portu seçer ve çalışır,

Fakat bu ne zaman uygulamaya girer? Bir isteğin SSL aktarımı gerektirdiği zaman nasıl olur?

Tomcat modülünü çalıştıran bir uydu sunucum var. Bu modül, ana sunucudan apache ile ajp konektörüne giden trafiği yönlendirerek ve bunun tersi olarak devreye girer.

Ana sunucuda https apache'de zorlanır. Bu, tüm isteklerin şifreli veya düz metinli uydu sunucusuna gönderildiği anlamına mı geliyor? 8080 numaralı bağlantı noktası üzerinden uydu sunucusuna erişirsem şifreli olmadığını biliyorum, ancak bunun ana sunucuya yönlendirilen trafiğe de uygulanıp uygulanmadığını ve bu yönlendirme bağlantı noktasının devreye girip girmediğini merak ediyorum.


10
2018-02-21 23:12


Menşei




Cevaplar:


Dokümantasyonda tanımlandığı gibi, sunucuya SSL talebi geldiğinde ve http bağlayıcı portu SSL isteklerini yerine getiremediğinden, tanımlanan portla yeniden yönlendirileceği için yönlendirme portu resme girecektir. Ancak, bunların, tanımlanmış yeniden yönlendirme bağlantı noktasının SSL isteklerini işlemek için bir bağlayıcı bağlantı noktası olarak işlev göreceği server.xml dosyasında tanımlanan başka bir bölüm olması gerekir. Örneğin, http isteklerinin 80 numaralı bağlantı noktası ve 443 numaralı bağlantı noktası tarafından https isteği tarafından işlenmesini istiyorsanız, sunucu.xml şöyle görünecektir:

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />

<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" scheme="https" secure="true" sslProtocol="TLS" keystoreFile="/path/to/kestorefile" keystorePass="my_keystore_password"/>

Keystorefile, web sitenizin ssl sertifikasıdır.

Yönlendirme bağlantı noktası olan başka bir bölümü bağlantı noktası bağlantı noktası olarak yapılandırmazsanız, istekleriniz bu bağlantı noktasına yönlendirilmez. Örneğin, web sitesi ssl isteklerini desteklemiyorsa ve bu siteye https isteği göndermeye güvenli bağlantı başarısız tarayıcıda gösterilecektir.


5
2018-02-22 06:53



Yeterince adil. Http’un aksine ajp’in yapılandırması ne olacak? Ayrıca bahsettiğiniz 1024'in altındaki portları kullanmak iyi bir fikir mi? Bu, tomcat'in root olarak çalıştırılması anlamına gelir ve bu iyi değildir. - Ulukai
Ajp hakkında fazla bir fikrim yok, ancak yönlendirme http olarak aynı şekilde çalışmalıdır. 1024 altındaki portları kullanmak tamamen size kalmış. 80 ve 443, https ve https protokolü için varsayılan bağlantı noktalarıdır, URL'de açıkça belirtilmelerine gerek yoktur. Standart olmayan portları kullanmak istiyorsanız, size bağlı. Ayrıca, tomcat'i root ile çalıştırmak, dağıtılan uygulamaya bağlıdır. Uygulamanıza güvenlik açısından güvenmiyorsanız, tomcat'i root ile çalıştırmamalısınız. Diğer bir yol olarak, 80 ve 443 numaralı bağlantı noktasında çalıştırmak için proxy olarak apache veya nginx'i kullanabilir ve isteğinizi tomcat'e yönlendirebilirsiniz. - Gaurav Pundir
Bunu not edeceğim iptables ayrıca Tomcat’a trafik yönlendirmek için güzel çalışıyor, diğer yaklaşımlar arasında. - SeldomNeedy