Community
Participate
Working Groups
Build Identifier: 2.3.2 1 Deploy the report at a inner network. 2 Open the report by proxy server. 3 Can not open the report, found that the URL always to re-direct the inner network IP and port. After investigate, found that at FramesetFragment.jsp if( baseURL != null ) baseHref = baseURL; } baseHref += request.getContextPath( ) + fragment.getJSPRootPath( ); The baseHref is "http://hostname:port/...". It is incorrect, it always shows the inner hostname. And the tag <BASE> at <BASE href="<%= baseHref %>" >, suggest not use it. The baseHref should use relative path to direct. Reproducible: Always Steps to Reproduce: 1 Deploy the report at a inner network. 2 Open the report by proxy server. 3 Can not open the report, found that the URL always to re-direct the inner network IP and port.
There is a property "base_url" in WEB-INF/viewer.properties, have you tried to change this setting?
There is no know way to configure BIRT so that it will work BOTH when access directly and when accessed behind a reverse proxy. The current "configuration solution" requires that a property (e.g. baseurl in viewer.propertis) be set to the required "external" prefix name. This means that the "reverse proxy" name must be configured within the product -- blocking any direct access to the server. BIRT should be using a "relative" url and using that instead. That way one the deployed application does NOT need to know about the network configuration (e.g. behind a reverse proxy or not) in order to function properly in each environment.