2011-06-19 31 views
6

benim bahar güvenlik Amazon Elastik Dengeleyici (ELB) yükleyin kullanarak bir sunucu üzerinde çalışan almaya çalışıyorum. ELB da ileri bir giriş döngüye alıyorum Bu sayfaya erişmek zaman 8080.Girişi döngü gerektirir kanal ve Amazon Elastik Yük Dengeleyici

<security:intercept-url pattern="/login.xhtml" access="IS_AUTHENTICATED_ANONYMOUSLY" requires-channel="https" /> 

<security:port-mappings> 
      <security:port-mapping http="80" https="443" /> 
</security:port-mappings> 

8080 nolu porta ve 443 numaralı bağlantı noktasında Uygulamama iletmek için bağlantı noktası 80 üzerinde yapılandırılır. bunu nasıl çözeceğimize dair bir fikri olan? Bahar Güvenlik gerçeği ile sorunları olması emin değilim ELB sen emniyete edilmemelidir güvenli bir URL'ye sahip çünkü yönlendirme döngüsü hemen her zaman olur 8080

+0

Bağlantı noktası eşlemeleri, uygulamasındaki iç bağlantı noktalarındaki ELB'deki harici bağlantı noktalarına başvurmalı mı? –

+0

Bir yönlendirme döngüsü neredeyse her zaman olur, çünkü güvenceye alınmaması gereken güvenli bir URL'ye sahipsiniz. Hata ayıklama günlüğünü etkinleştirin ve neden yeniden yönlendirildiğinizi görmelisiniz. Bu, http://static.springsource.org/spring-security/site/petclinic-tutorial.html günlüğünde hata ayıklama konusunda size yardımcı olacaktır (hata ayıklama için sayfayı arayın). – Simeon

cevap

3

Bu Bahar Güvenlik güvenli bir bağlantı noktasını kullanarak belirlemek için() ServletRequest.getServerPort kullandığı ortaya çıktı.

20 Jun 18:16:49,184 ["http-bio-8443"-exec-5] DEBUG org.springframework.security. web.access.channel.RetryWithHttpsEntryPoint - Redirecting to: /login.xhtml 

Ben de proxyport kullanarak çalıştı ama alamadım: ELB Webapp güvenli bir liman olarak bunu kabul etmedi 8443 benim iç tomcat 443 isteğini iletmek yüzden ne zaman erkek kedi 8080 ve 8443 kullanılarak yapılandırıldı Bu çalışmak için. Eğer doğru yönlendirme yapmak doesnt yerine daha sonra 8443 kullanmak bahar güvenlik noktalarını yapılandırmak eğer Ayrıca (o dışarıdan Var olmayan 8443 uygulamayı yönlendirir).

Uzun lafın kısası ... Aşağıdaki ayarlar çalıştı: ileri 80-> 80 ve 443-> 443 ELB. 80 ve 443'ü kullanmak için tomcat kurulumu Bağlantı güvenliği eşlemelerini 80 ve 443'ü Spring Security üzerinde kullanacak şekilde ayarlama

+0

ProxyPort'u tomcat bağlayıcısında 443 olarak kullanmam gerekiyordu, aksi halde yönlendirmeler bir sebepten dolayı çalışmadı. –

+0

İlk olarak, 80 veya 443 (<1024) dinleyebilmek için tomcat kurmak, bu kökten izin aldığından iyi bir karar olmamalıdır. BeanPostProcessor kullanarak kendi ChannelProcessor'unuzu bağlayabilirsiniz. ChannelProcessor'un özel uygulamasının içinde, istek başlığını inceliyorsunuz ve "https" yerine "http: // http: // Detay uygulaması lütfen [link] sayfasına bakın (http://stackoverflow.com/questions/6732453/spring-security-requires-channel-https-behind-ssl-accelerator) – infiniteloop

2

noktası üzerinde Uygulamama port 443 https ileri trafiktir. Tüm URL'ler bahar güvenliği için varsayılan olarak güvenceye alınmıştır.

JavaScript, CSS veya resim kaynaklar ayrı kendi URL'lerin de sabitlenir giriş sayfası tarafından istek ve bu döngü neden olabilecek yüklenir Ayrıca eğer.

ayıklama günlüğünü etkinleştirme ve yönlendirildi neden görmelisiniz. This hata ayıklama günlüğü konusunda size yardımcı olacaktır (hata ayıklama için sayfayı arayın).

İlgili konular