Deploying the Relay Server components to Microsoft IIS 7.0 or 7.5 on Windows Server 2008/Windows Server 2008 R2

The Relay Server for Windows consists of the following executables:

For information about which versions of IIS are supported, see [external link] http://www.sybase.com/detail?id=1061806.

Setup scripts for Relay Server on IIS can be found in the %SQLANY12%\RelayServer\IIS directory.

 To deploy the Relay Server files
  1. Make sure that the Microsoft IIS ISAPI Extensions feature is installed.

  2. Install the Relay Server components using the SQL Anywhere install. By default all files are installed to %SQLANY12% and are based on the bitness of the machine:

    • %SQLANY12%\Bin32 and %SQLANY12%\Bin64 are used for DLLs and executables for administration.

    • %SQLANY12%\RelayServer\IIS\Bin32 and %SQLANY12%\RelayServer\IIS\Bin64 are used for Relay Server specific files under the appropriate folder (for example, Admin, Client, Monitor or Server). The Server folder contains the rshost.exe and rs.config files.

  3. Backup the IIS configuration file applicationHost.config located in the c:\Windows\System32\inetsrv\config folder.

  4. To add an application pool for the Relay Server, edit the applicationHost.config file to add the following code to the <system.applicationHost> » <applicationPools> section.



    <add name="RelayServer" queueLength="65535" autoStart="true" managedRuntimeVersion="" managedPipelineMode="Integrated">
       <processModel identityType="LocalSystem" idleTimeout="00:00:00" maxProcesses="20" pingingEnabled="false"
             pingInterval="00:00:30" pingResponseTime="00:01:30" />
       <recycling disallowOverlappingRotation="true">
         <periodicRestart time="00:00:00">
           <schedule>
             <clear />
           </schedule>
         </periodicRestart>
       </recycling>
       <failure rapidFailProtection="false" />
       <cpu resetInterval="00:00:00" />
    </add>
    
  5. To add the Relay Server application to the default site, edit the applicationHost.config file to add the following code to the <system.applicationHost> » <applicationPools> » <sites> » <site name="Default Web Site"> section.

    <application path="/rs" applicationPool="RelayServer">
      <virtualDirectory path="/"physicalPath="%SQLANY12%\RelayServer\IIS\Bin32"/>
    </application>
  6. To add the Relay Server ISAPI extensions, edit the applicationHost.config file to add the following code to the <system.webServer> » <security> » <isapiCgiRestriction> section.

    <add path="%SQLANY12%\RelayServer\IIS\Bin32\Admin\rs_admin.dll" allowed="true" />
    <add path="%SQLANY12%\RelayServer\IIS\Bin32\Client\rs_client.dll" allowed="true" />
    <add path="%SQLANY12%\RelayServer\IIS\Bin32\Monitor\rs_monitor.dll" allowed="true" />
    <add path="%SQLANY12%\RelayServer\IIS\Bin32\Server\rs_server.dll" allowed="true" />
  7. To add the Relay Server handlers, edit the applicationHost.config file to add the following code to the <configuration> section. For security reasons, it is recommended that the Admin extension be accessed only using HTTPS.



    <location path="Default Web Site/rs/admin">
      <system.webServer>
        <handlers accessPolicy="Execute, Script">
        </handlers>
        <!-- For security reasons, it is recommended that the Admin extension be accessed only using HTTPS. -->
        <security>
          <access sslFlags="Ssl" />
        </security>
      </system.webServer>
    </location>
    <location path="Default Web Site/rs/client">
      <system.webServer>
        <handlers accessPolicy="Execute, Script">
        </handlers>
      </system.webServer>
    </location>
    <location path="Default Web Site/rs/monitor">
      <system.webServer>
        <handlers accessPolicy="Execute, Script">
        </handlers>
      </system.webServer>
    </location>
    <location path="Default Web Site/rs/server">
      <system.webServer>
        <handlers accessPolicy="Execute, Script">
        </handlers>
      </system.webServer>
    </location>
  8. For the best performance, edit the applicationHost.config file to add the following code to the <configuration> section, according to your administration practices for IIS.



    <location path="Default Web Site/rs">
      <system.webServer>
        <security>
          <authentication>
            <anonymousAuthentication userName="" />
          </authentication>
          <requestFiltering>
            <requestLimits maxAllowedContentLength="2147483647" />
          </requestFiltering>
        </security>
      </system.webServer>
    </location>
    Note

    The Relay Server is set up for anonymous access based on these instructions. Proper security needs to be configured for IIS and the Relay Server based on the business requirements.

  9. Save these changes to the applicationHost.config file.

  10. Set the Connection timeout property of the Default Web Site to a minimum of 60 seconds. By default this value should be 120 seconds, which is sufficient.

  11. Create the Relay Server configuration file rs.config using the following guidelines.

    • The file should have four sections:

      • Options section
      • Relay server section
      • Backend farm section
      • Backend server section
    • Each section starts with a section tag, made by enclosing a keyword that identifies the section name in square brackets.

    • Add the appropriate properties to each section. A property is defined by specifying the property name on the left-hand side of an equal sign and its value on the right-hand side of the equal sign. For example, property name = value.

    • The configuration file should contain only 7-bit ASCII characters.

    See Relay Server configuration file.

  12. Copy the rs.config file to the %SQLANY12%\RelayServer\IIS\BinXX\Server directory.

  13. Ensure optimum performance by reviewing the performance tips. See Performance tips.

  14. Start the Relay Server State Manager as a service using a command line similar to the following:

    dbsvc -as -s auto -t rshost -w RelayServer "%SQLANY12%\RelayServer\IIS\BinXX\Server\rshost.exe" -q -qc -f "%SQLANY12%\RelayServer\IIS\BinXX\Server\rs.config" -o "c:\temp\ias_relay_server.log"

    See:

    Note

    It is recommended that you start the State Manager as a service. However, it can also be started automatically by the Relay Server. See Relay Server State Manager.

  15. Update the Relay Server configuration for Microsoft IIS on Windows:

    1. For each computer that belongs to the Relay Server farm you are updating, copy the updated configuration file to the %SQLANY12%\RelayServer\IIS\BinXX\Server directory under the Relay Server web site home directory. The configuration file must be called rs.config if auto start is used.

    2. From the %SQLANY12%\RelayServer\IIS\BinXX\Server directory, run the following command line to apply the configuration update:

      rshost -u -f rs.config
    3. Repeat the previous steps for each computer in the Relay Server farm that is being updated.

Note

After configuring the Relay Server with IIS, it is recommended that you restart the IIS server or reboot the machine.

 See also