This article introduces Microsoft's IIS web services and gives an example configuration change to make SageVue accessible from remote computers.
Introduction to IIS and bindings
IIS is a collection of services that host websites on computers running Microsoft Windows.
IP addresses and domain names route messages to your server. When a message arrives, IIS then uses a 'binding' concept to route the message to the correct application.
A binding is a unique combination of protocol, IP address, port, and hostname associated (bound) to a single application. When IIS receives a request, it inspects the protocol, destination IP address, port and hostname. If it finds an exact match against a configured binding, it will route the request to the associated application.
Bindings can include wildcard values for everything except protocol, which must be selected from those supported by IIS (for example, HTTP, HTTPS and so on). Multiple bindings can be associated with a single application, but all bindings must be unique. If the same binding is defined against multiple applications, IIS will automatically disable one to prevent unpredictable behaviour.
The data structure below describes a binding:
<protocol> <IP address> <port> <host name>
The SageVue application is automatically configured with bindings to ports 80 & 443 against the localhost domain name during installation.
The default SageVue bindings on install are:
- <http> <*> <80> <localhost>
- <https> <*> <443> <localhost>
where a * represents a wildcard entry
These default bindings mean that whenever an HTTP or HTTPS request arrives, targeted at the localhost domain name, on either HTTP (port 80) or HTTPS (port 443), it will be routed to the SageVue application by IIS.
By definition, localhost is only accessible from a browser running on the same machine as the server since it resolves to an IP address of 127.0.0.1 - the internal software loopback address. This unique 'internal only' IP address allows applications to treat the local machine as a remote network-connected device but cannot be accessed externally.
Because SageVue only has bindings to localhost, it can only initially be accessed by requests originating from the PC on which SageVue is installed. Suppose the user tries to access SageVue from a browser on a different machine, using the IP address or hostname of the server running SageVue. In that case, the request is not targeted at localhost, and IIS will not know where to route it. As a result, IIS will return a 'page not found code 404' error.
Configuring SageVue for external access
There are several ways to modify the default bindings so that SageVue is accessible from external computers. One straightforward example is shown below. However, an alternative approach - for example, a binding to a customised hostname - may be more suitable, depending on your system requirements.
Caution: Always consult with your system administrator before making any changes to IIS configuration, particularly where IIS is hosting other services!
1. Type IIS in Windows search to open IIS Manager. Note that IIS Manager needs to be run using an administrator account.
2. Select Default Website from the Connections window and click Bindings… from the Actions window
3. Select the https line and click Edit…
4. Delete the localhost text from the Host name: field and click OK.
5. Select the http line and repeat step 4.
6. Click Close on Site Bindings editor window
SageVue will now be accessible from both the PC on which SageVue is installed and any remote computer with network access to the SageVue server because all requests targeted at port 80 or port 443 will be passed to SageVue, not just those targeted at localhost.
To verify, open a browser session on a remote PC and enter either the IP address (or hostname, if DNS is configured appropriately) followed by /BiampSageVue for example https://10.10.1.10/BiampSageVue