Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The exact configuration depends on the reverse proxy that is being used. This section aims to document the general setup for a limited set of reverse proxies.

IIS

When using IIS, the Application Request Routing module needs to be installed to configure proxy redirect rules. Within the IIS manager application, a virtual site for the Runtime needs to be created:

Image Added

Use "runtime" as Alias name and choose a filesystem directory to represent this virtual directory (this is the location where IIS stores the configuration file). Open the chosen directory in Windows Explorer and edit the Web.config file as follows:

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <remove name="ReverseProxyInboundRule1" />
                <rule name="ReverseProxyInboundRule1" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{CACHE_URL}" pattern="^(https?)://" />
                    </conditions>
                    <action type="Rewrite" url="http://RUNTIME_URL:RUNTIME_PORT/runtime/{R:1}"/>					
                    <serverVariables>
                        <set name="HTTP_X_FORWARDED_HOST" value="{HTTP_HOST}" />
                        <set name="HTTP_X_FORWARDED_PROTO" value="{C:1}" />
                        <set name="HTTP_X_FORWARDED_FOR" value="{REMOTE_ADDR}" />
                    </serverVariables>	
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

Change the RUNTIME_URL:RUNTIME_PORT segment as needed.

In IIS Manager, select the Site that the virtual directory is part of and click "Restart" in the right hand side toolbar:

Image Added

nginx

Code Block
http {
    upstream revProxyRuntime {
        # URL and port where the Blueriq Runtime Server is deployed
        # NOTE: This should not include the protocol "http://", only the hostname:port should be configured here.
        server RUNTIME_URL:RUNTIME_PORT;
    }

    server {
        location /runtime/ {
            # Context path where the Blueriq Runtime is running under, this should only be enable if the context path is different than /Runtime
            # rewrite /Runtime/(.*) /CONTEXT_PATH/$1;

            chunked_transfer_encoding off;
            proxy_buffering off;
            proxy_cache off;
            proxy_pass http://revProxyRuntime;
        }
    }
}

Change the RUNTIME_URL:RUNTIME_PORT segment as needed. Restart nginx for the changes to take effect.