Jetty: Fix connector behind SSL reverse proxy
Change-Id: I0c19c78e8e299ec920f70b42ad0a86f5b35e87ed
This commit is contained in:
@@ -32,11 +32,13 @@ import com.google.inject.Singleton;
|
|||||||
import com.google.inject.servlet.GuiceFilter;
|
import com.google.inject.servlet.GuiceFilter;
|
||||||
import com.google.inject.servlet.GuiceServletContextListener;
|
import com.google.inject.servlet.GuiceServletContextListener;
|
||||||
|
|
||||||
|
import org.eclipse.jetty.http.HttpScheme;
|
||||||
import org.eclipse.jetty.server.Connector;
|
import org.eclipse.jetty.server.Connector;
|
||||||
import org.eclipse.jetty.server.ForwardedRequestCustomizer;
|
import org.eclipse.jetty.server.ForwardedRequestCustomizer;
|
||||||
import org.eclipse.jetty.server.Handler;
|
import org.eclipse.jetty.server.Handler;
|
||||||
import org.eclipse.jetty.server.HttpConfiguration;
|
import org.eclipse.jetty.server.HttpConfiguration;
|
||||||
import org.eclipse.jetty.server.HttpConnectionFactory;
|
import org.eclipse.jetty.server.HttpConnectionFactory;
|
||||||
|
import org.eclipse.jetty.server.Request;
|
||||||
import org.eclipse.jetty.server.SecureRequestCustomizer;
|
import org.eclipse.jetty.server.SecureRequestCustomizer;
|
||||||
import org.eclipse.jetty.server.Server;
|
import org.eclipse.jetty.server.Server;
|
||||||
import org.eclipse.jetty.server.ServerConnector;
|
import org.eclipse.jetty.server.ServerConnector;
|
||||||
@@ -222,7 +224,14 @@ public class JettyServer {
|
|||||||
} else if ("proxy-https".equals(u.getScheme())) {
|
} else if ("proxy-https".equals(u.getScheme())) {
|
||||||
defaultPort = 8080;
|
defaultPort = 8080;
|
||||||
config.addCustomizer(new ForwardedRequestCustomizer());
|
config.addCustomizer(new ForwardedRequestCustomizer());
|
||||||
config.addCustomizer(new SecureRequestCustomizer());
|
config.addCustomizer(new HttpConfiguration.Customizer() {
|
||||||
|
@Override
|
||||||
|
public void customize(Connector connector,
|
||||||
|
HttpConfiguration channelConfig, Request request) {
|
||||||
|
request.setScheme(HttpScheme.HTTPS.asString());
|
||||||
|
request.setSecure(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
c = new ServerConnector(server,
|
c = new ServerConnector(server,
|
||||||
null, null, null, 0, acceptors,
|
null, null, null, 0, acceptors,
|
||||||
new HttpConnectionFactory(config));
|
new HttpConnectionFactory(config));
|
||||||
|
|||||||
Reference in New Issue
Block a user