Redirection to external URLs
This information applies only to frevvo v5 and higher.
How frevvo redirects to external URLs.
On This Page:
Proxy with X-Forwarded headers configured
This is the most flexible setup. To use these parameters, you must uncomment the section in web.xml where these parameters are defined or [preferably] override them in config.properties (Weblogic) or frevvo.xml (Tomcat). If you uncomment these settings, you MUST set these parameters. The server will throw an error if they are missing.
When your proxy is configured with the appropriate headers, frevvo can use these headers to determine the protocol, host and port of the original request and send any redirects/forwards to the proper URL. For this configuration, your proxy must add three parameters to the HTTP request forwarded to the frevvo' server:
- X-Forwarded-Protocol: the protocol of the incoming request (http or https).
- X-Forwarded-Host: the host name of the incoming request
- X-Forwarded-Port: the port of the incoming request
Captcha requests will also use the protocol (HTTP or HTTPS) as specified in the forwarded HTTP request headers.
The names of these parameters are configurable in frevvo's web.xml or config.properties. For example, if you prefer to use a parameter called X-Fwd-Scheme instead of X-Forwarded-Protocol, simply change the appropriate context parameter and make sure that your proxy is setting a header with the new name.
Forms Server External URL (no proxy setup)
If you do not have a proxy server or do not wish to setup your proxy with X-Forwarded-* headers, you can configure frevvo's ''frevvo.forms.server.external.url'' context parameter. Once again, you set this parameter in config.properties (Weblogic) or frevvo.xml (Tomcat). This parameter contains the complete URL e.g. . frevvo will always redirect to this server. Captcha requests will use the same protocol (HTTP or HTTPS) as the external URL.
No proxy or external URL
If you do not have a proxy and do not set an external URL, frevvo will simply use the protocol, host and port of the inbound request i.e. it will assume that the server on which it received the request is the externally visible server.