Table of Contents

Microsoft IIS (Web Server) Configuration

RePoSyD requires the installation of the following IIS server functions in the following sequence:

Application Request Routing Cache

Open the Application Request Routing Cache settings and click on Server Proxy Settings. Click on 'Enable proxy' and appy the changes.

The following URL rewrite rules need to be set up for RePoSyD:

URL Pattern Target
http(s)://<servername>/api ^api/(.*) http://127.0.0.1:3000/{R:1} The request is redirected to RePoSyD and /api is removed from the URL. A query string remains unchanged (option append query string enabled)
http(s)://<servername>/auth ^auth/(.*) http://127.0.0.1:3000/auth/{R:0} The request is redirect to RePoSyD and remains unchanged (option append query string enabled).
http(s)://<servername>/NotificationService/*) NotificationService/(.*) http://127.0.0.1:3000/{R:0} The request is redirect to RePoSyD and remains unchanged (option append query string enabled).
http(s)://<servername>/NotificationService ^NotificationService http://127.0.0.1:3000/NotificationService The web socket request is redirect to RePoSyD and remains unchanged (option append query string enabled).
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="RePoSyD-Service Auth">
                    <match url="auth/(.*)" />
                    <action type="Rewrite" url="http://127.0.0.1:3000/{R:0}" logRewrittenUrl="false" />
                </rule>
                <rule name="RePoSyD-Service API">
                    <match url="api/(.*)" />
                    <action type="Rewrite" url="http://127.0.0.1:3000/{R:1}" />
                </rule>
                <rule name="HTTPS Redirecxt" stopProcessing="true">
                    <match url="(.)" />
                    <conditions>
                        <add input="{HTTPS}" pattern="^OFF$" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" />
                </rule>
                <rule name="RePoSyD-Notification Service">
                    <match url="NotificationService/(.*)" />
                    <action type="Rewrite" url="http://127.0.0.1:3000/{R:0}" />
                </rule>
                <rule name="RePoSyD-Web Socket">
                    <match url="^NotificationService" />
                    <action type="Rewrite" url="http://127.0.0.1:3000/NotificationService" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

nginx

location /api/ {
	proxy_pass http://127.0.0.1:32769;
	rewrite ^/api/?(.*) /$1 break;
}
location /auth {
	proxy_pass http://127.0.0.1:32769;
	proxy_set_header Host            $host:$server_port;
	proxy_set_header X-Forwarded-For $remote_addr;
	proxy_set_header X-Forwarded-Proto $scheme;
}