This chapter describes how to install SilverStream's SilverJunction DLL.
It includes the following topics:
For information about using SilverJunction, see the chapter on maintaining the server in the Administrator's Guide.
SilverJunction is a simple way to allow HTTP 1.1 browsers to mask the HTTP redirects between Web servers and the SilverStream Server. It is an IISAPI NSAPI DLL that can be installed on Microsoft Internet Information Server or Netscape Enterprise/Fast Track Web servers. It is associated with a particular directory on the server. When a user accesses the directory where SilverJunction is installed, the browser is redirected to the SilverStream Server. These linking parameters are stored in a properties file on the Web server.
Once redirected, the client's browser then makes a physical connection to the SilverStream Server. On browsers that support HTTP 1.1, the URL address does not change even though the browser is now hitting a new HTTP server (the SilverStream Server). This is an advanced type of redirect which makes the moving from one server to another transparent to the user. On older browser that do not support HTTP 1.1, the actual URL in the browser's address field will change to the SilverStream's server URL.
However, SilverJunction is not a daemon which passes all requests through/from a Web server to SilverStream. Instead it serves as a simple HTTP re-director (much like the SilverStream Dispatcher). Given this, SilverJunction cannot be used as a traffic cop to manage HTTP connections through a firewall to a SilverStream Server. This functionality is what proxy servers do. However, you can use SilverJunction on Internet Web servers to redirect application traffic to SilverStream Servers inside or outside the firewall provided that the browser can resolve the host name of the SilverStream Server (that is, it must be DNS-registered). If the SilverStream Server is inside the firewall, the firewall allows the traffic to get through.
It is somewhat more complicated when using SilverJunction in a cluster of servers. SilverJunction would re-direct to a SilverStream Dispatcher, which would in turn re-direct to a SilverStream Server in a cluster. If you had five clustered servers inside the firewall, the firewall would need to be configured to allow traffic to get through to all five servers in the cluster and the Dispatcher. One alternative to this is to use a DNS-masking router (like the one from RND Networks) and only allow incoming traffic to the router's IP address/port number instead. Another alternative would be to place the servers outside the firewall and allow incoming traffic to the database server.
For more information, see the chapter on clusters in the Administrator's Guide.
For IIS 4.0 users, SilverJunction currently cannot be added as an ISAPI Filter through the Microsoft Management Console. You must add the DLL to the Filter DLLs registry key as described below.
The configuration file for SilverJunction running under IIS on NT always resides in SilverStream\Resources\SilverJunction.jdl.
Netscape Enterprise Server 3.5.1 does not ship with the Netscape 3.0 NSAPI DLL required by SilverJunction. Netscape has posted a patch release to fix this problem. You can obtain this patch from Netscape's Web site (help.netscape.com/business).
For more information on Netscape Server configuration, refer to the Netscape documentation.
Both of the following Init fn commands should be on a single line in your file.
Init fn=load-modules shlib="C:/SilverStreamDir/bin/sj4nsapi.dll" funcs="init_redirect,dispatch_redirect"
Init fn=init_redirect conf_file="C:/SilverStreamDir/Resources/SilverJunction.jdl"
This ensures that SilverJunction is loaded, that its functionality is made available to the server, and that it reads its configuration file.
NOTE Netscape 2. 0 Users should reference sj4nsapi20.dll (Windows NT) or sj4nsapi20.so (Solaris).
This ensures that SilverJunction is actually used to process the incoming requests.
See below for a sample obj.conf. file.
If SilverJunction is running within a Netscape Server, its configuration file can reside anywhere, as long as the files location is reflected in the Init section of the obj.conf file under Init fn=load-modules.
Here is an example of an obj.conf file that specifies SilverJunction.
Init fn=flex-init access="C:/Netscape/SuiteSpot/https-myserver/logs/access" format.access="%Ses->client.ip% - %Req->vars.auth-user% [%SYSDATE%] \"%Req->reqpb.clf-request%\" %Req->srvhdrs.clf-status% %Req->srvhdrs.content-length%"
Init fn=load-types mime-types=mime.types
Init fn=load-modules shlib="C:/SilverStream30/bin/sj4nsapi.dll" funcs="init_redirect,dispatch_redirect"
Init fn=init_redirect conf_file="C:/SilverStream30/Resources/SilverJunction.jdl"
NameTrans fn=pfx2dir from=/ns-icons dir="C:/Netscape/SuiteSpot/ns-icons"
NameTrans fn=pfx2dir from=/mc-icons dir="C:/Netscape/SuiteSpot/ns-icons"
NameTrans fn="pfx2dir" from="/help" dir="C:/Netscape/SuiteSpot/manual/https/ug"
NameTrans fn=document-root root="C:/Netscape/SuiteSpot/docs"
PathCheck fn="check-acl" acl="default"
PathCheck fn=find-index index-names="index.html,home.html"
ObjectType fn=force-type type=text/plain
Service method=(GET|HEAD) type=magnus-internal/imagemap fn=imagemap
Service method=(GET|HEAD) type=magnus-internal/directory fn=index-common
Service method=(GET|HEAD) type=*~magnus-internal/* fn=send-file
AddLog fn=flex-log name="access"
ObjectType fn=force-type type=magnus-internal/cgi