Nach dem Graben im Quellcode fand ich heraus, dass alle Link-Kreationen von dieser point stammen und es scheint unmöglich zu sein, die erzwungene Verwendung von https-Schema auf eine "Standard" Weise zu konfigurieren.
Also habe ich einen Filter erstellt, der http://
zu https://
in Anforderung URL ersetzt und das Problem ist weg. Hier ist das Snippet:
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
final HttpServletRequestWrapper wrapped = new HttpServletRequestWrapper(request) {
@Override
public StringBuffer getRequestURL() {
final StringBuffer originalUrl = ((HttpServletRequest) getRequest()).getRequestURL();
final String updatedUrl = originalUrl.toString().replace("http://", "https://");
return new StringBuffer(updatedUrl);
}
};
filterChain.doFilter(wrapped, servletResponse);
}
Es ist unklar, wie Sie Ihre Links produzieren. Bedenken Sie jedoch, dass proxypass (reverse) auf HTTP-Protokoll-Headern funktioniert, so dass es nichts mit dem Protokoll zu tun hat, das Sie in Ihrer Webanwendung verwenden. Es gibt also wahrscheinlich nichts zu konfigurieren, außer die Konfiguration des Apache Proxypass zu überprüfen, oder die Webapp zu überprüfen oder - hugh - Ihre Tomcat Konfiguration. – Sampisa