2015-01-13 6 views
0

Undertow에서 HTTP-> HTTPS 리디렉션을 어떻게 구성 할 수 있습니까? Undertow의 코드베이스를 살펴 보았습니다. 관련성이있는 클래스가 있습니다 (예 : RedirectHandler). 또한 Undertow 문서 (Predicates Attributes and Handlers)는 다른 사람들과 정확하게이 문제를 목표로하는 것으로 보입니다. 하지만 어디서부터 시작해야할지 모르겠습니다.Undertow에서 HTTP에서 HTTPS로 리디렉션

기본적으로, 내가 무엇을 찾고있어 아파치의 mod_rewrite를 구성에 약간의 대응은 다음과 같습니다

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

감사합니다!

답변

2

This answer은 올바른 방향을 가리 킵니다. 프로그래밍, 하나는 BuilderSecurityConstraint을 추가 할 수 있고 ConfidentialPortManager 설정 :

DeploymentInfo servletBuilder = Servlets.deployment(); 
servletBuilder.addSecurityConstraint(new SecurityConstraint() 
    .addWebResourceCollection(new WebResourceCollection() 
    .addUrlPattern("/*")) 
    .setTransportGuaranteeType(TransportGuaranteeType.CONFIDENTIAL) 
    .setEmptyRoleSemantic(EmptyRoleSemantic.PERMIT)) 
    .setConfidentialPortManager(new ConfidentialPortManager() { 
    @Override 
    public int getConfidentialPort(HttpServerExchange exchange) { 
     return 443; 
    } 
    } 
); 
+0

는 (302)는이 방법으로 리디렉션 기본 대신 301 영구 리디렉션을 사용할 수 있습니까? – Thermometer

+0

@Thermometer - 확실하지,'DeploymentInfo'로 리디렉션을 시도한 적이 없습니다. – siphiuel

관련 문제