#Web Gateway

0 Followers · 85 Posts

InterSystems IRIS component that serves HTTP requests to InterSystems IRIS data platform.

Documentation: InterSystems Web Gateway for Web Services

InterSystems staff + admins Hide everywhere
Hidden post for admin
Article Lorenzo Scalese · Apr 22, 2022 8m read

Apache Web Gateway with Docker

Hi, community.

In this article, we will programmatically configure an Apache Web Gateway with Docker using:

  • HTTPS protocol.
  • TLS\SSL to secure the communication between the Web Gateway and the IRIS instance.

image

We will use two images: one for the Web Gateway and the second one for the IRIS instance.

All necessary files are available in this GitHub repository.

Let’s start with a git clone:

git clone https://github.com/lscalese/docker-webgateway-sample.
15
8 2174
Question Nezla · Apr 24, 2024

Hi

I've installed Ensemble 2018 then enabled IIS from Win features, then realized that CSPGateway doesn't exit so I downloaded and installed CSPGateway-2018 from WRC.

so now I'm trying to set up a Website application and facing some issues, and I think IIS and CSPGateway in inetpub are not connecting or synchronising properly but mostly is accessing Web gateway via IIS my understanding is that I can access using the following url http://machinename/csp/bin/Systems/Module.cxw  using my machinename or IP but it's not happening.

12
0 508
Article Pietro Di Leo · Sep 24, 2025 23m read

Table of Contents

  1. Purpose of the article
  2. What containers are and why they make sense with IRIS
     2.1 Containers and images in a nutshell
     2.2 Why containers are useful for developers
     2.3 Why IRIS works well with Docker
  3. Prerequisites
  4. Installing the InterSystems IRIS image
     4.1 Using Docker Hub
     4.2 Pulling the image
  5. Running the InterSystems IRIS image
     5.1 Starting an IRIS container
     5.2 Checking container status
     5.3 Executing code in the container terminal
     5.4 Accessing the IRIS Management Portal
     5.5 Connecting the container to VS Code
     5.6 Stopping or removing the container
     5.7 Setting a specific password with a bind mount
     5.8 Using durable %SYS volumes
      5.8.1 What gets stored with durable %SYS
      5.8.2 How to enable durable %SYS
  6. Using Docker Compose
     6.1 Docker Compose example
     6.2 Running Docker Compose
  7. Using a Dockerfile to run custom source code
     7.1 Dockerfile example
     7.2 Docker Compose example
     7.3 Understanding layers, image tagging and build vs. run time
     7.4 Source code and init script
     7.5 Building the image with Dockerfile
     7.6 Running instructions in the containerized IRIS terminal
  8. Conclusion and what’s next
9
10 507
Question Dmitry Maslennikov · Aug 11, 2023

Well, now we got noPWS container with IRIS, and how to connect to it, simply, without any durable sys or files, using normal peoples way like Environment variables?

version: "3"
services:
  iris:
    image: containers.intersystems.com/intersystems/iris:2023.2.0.227.0
    ports:
      - 1972:1972
    volumes:
      - ~/iris.key:/usr/irissys/mgr/iris.key
  web:
    image: containers.intersystems.com/intersystems/webgateway:2023.2.0.227.0
    ports:
      - 52773:80


8
0 428
Announcement Rob Tweed · Mar 26, 2024

You may have heard about our mg-dbx-napi interface for IRIS which provides insanely fast access from Node.js.  If you've been following recent developments in the server-side JavaScript world, you'll be excited to know that mg-dbx-napi also works with Bun.js, the latter proving to be significantly faster than Node.js for many/most purposes.

Of course, if you're a Node.js user, you'll probably wonder how mg-dbx-napi compares with the Native API for Node.js that is included with IRIS.

8
2 340
Question Scott Roth · Dec 4, 2023

We recently moved from using the Private Web Server, to using an Apache/Web Gateway setup and moved towards using the built in LDAP functionality within IRIS. Since then, we have 1 user that uses VSCode (/api/atelier) heavily that continues to have issues signing into IRIS through VS Code and the /api/atelier extension.

I am trying to troubleshoot two issues..

  • User having login failures with correct
8
0 1640
Question Scott Roth · Oct 26, 2023

This is probably not the right place, but I don't know who I can reach out to... I am trying to configure an Apache/Web Gateway to our instance of IRIS so we are no longer using the built-in PWS. Can anyone point me in the right direction to configure Apache/Web Gateway to repoint

http://<server name>:52773/... to the https://<server name>/...

gateway so our users will not notice? How do I do this in Apache, do I need to modify httpd.conf or the ssl.conf file? What is the correct syntax...

This is what I tried to do in the httpd.conf file

<VirtualHost *:52773>
    ServerName
7
0 633
Question Kurro Lopez · Jan 10, 2018

Hi all,

I've configured my Ensemble instance to use IIS 7, according to the instructions CSP Gateway configuration Guide and I've configure the CSP Virtual application.

All the process about Native modules is done.

If I open http://localhost/csp/bin/Systems/Module.cxw I see that it is using the IIS as I expected.

I've created a WebApi and I've deployed in my server

If I call the check method it works 

however, if I call it directly (localhost/myapi/check) it doesn't work.

Error HTTP 404.0 - Not Found

If I check the list of application access in the CSP Web Gateway management, it is in the list.

7
0 1551
Question Oliver Wilms · Aug 22, 2021

I want to try SAM in AWS. I followed these steps:

docker pull store/intersystems/sam:1.0.0.115

git clone intersystems-community/sam: System Alerting and Monitoring (SAM) (github.com)

git clone https://github.com/intersystems-community/sam

 

tar zpxvf sam-<version>.tar.gz

tar zpxvf sam-1.0.0.115-unix.tar.gz

 

$ cd sam-<version>

cd /home/ec2-user/git/sam/sam-1.0.0.115-unix/

$ ./start.sh

 

In your browser, visit:
http://<ip-address-of-host-where-SAM-runs>:8080/api/sam/app/index.csp
You'll be prompted to login. You can use standard InterSystems IRIS credentials like _SYSTEM/SYS.

7
0 1043
Article Lily Taub · Mar 19, 2019 9m read

Intro

Most server-client communication on the web is based on a request and response structure. The client sends a request to the server and the server responds to this request. The WebSocket protocol provides a two-way channel of communication between a server and client, allowing servers to send messages to clients without first receiving a request. For more information on the WebSocket protocol and its implementation in InterSystems IRIS, see the links below.

7
3 6168
Question Jeffrey Drumm · Nov 21, 2021

Running HealthConnect 2021.1 on RedHat Linux 8.4.

I've configured IRIS/HealthConnect with an external web server to support TLS encryption. It's installed on the same server as IRIS, but is a different instance and version of Apache httpd. That all works as expected.

I would also like to keep the "private" web server available, but I'm having an issue with using the fully-qualified domain name in the URL vs. just the hostname itself.

If I use http://servername:52773/csp/sys/UtilHome.csp to log on, all is well.

If I use http://servername.domain.name.tld:52773/csp/sys/UtilHome.

7
1 542
Question Fabio Care · Jul 3, 2023

I'm having trouble adjusting the protocol used for any CSP Requests. Currently all request to the system are sent over HTTP 1.1

When loading 40+ images on a page, the browser starts stalling request. According to google HTTP 1.1 only allows 6 parallel TCP Connections before suspending the remaining. 

I have looked through the Web Gateway Settings, %Net.HttpRequest.HTTPVersion and SSL Configuration but haven't found anything.

Is there a hidden setting that can be changed? Does Caché even support higher HTTP protocols. We do have an IRIS development instance I could test on.

7
0 465
Question Scott Roth · Sep 21, 2022

I am trying to pull down the webgateway from containers.intersystems.com and I am receiving the following errors... Please advise

[roth16@int-lxiris-vd02 tls-ssl-webgateway]$ docker pull containers.intersystems.com/intersystems/webgateway:2021.1.0.215.0
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
Trying to pull containers.intersystems.com/intersystems/webgateway:2021.1.0.215.0...
Error: initializing source docker://containers.intersystems.com/intersystems/webgateway:2021.1.0.215.0: reading manifest 2021.1.0.215.0 in containers.

7
0 685
Question Bransen Smith · Apr 23, 2024

I am attempting to configure an inbound service that utilizes the EnsLib.SOAP.GenericService class. This service receives HL7-v3 content wrapped in SOAP requests. Despite reading the documentation on configuring SOAP services, I am still confused.

In my current configuration item "Fr_Centrak_RTLS", I have ‘Enable Standard Requests’ checked, ‘Pool Size’ set to 0, and the port is unspecified.

 

 

 

I have also configured a web application with the following details:

 

My challenge is determining the correct URL address for sending SOAP traffic to this service.

7
0 512
Question Smythe Smythee · Nov 14, 2022

Hi Community,

I am configuring new SSL Configuration for Gmail (For sending errors to gmail in ensemble production) by following the below steps.

Step1:

Step2:Giving the server address smtp.gmail.com

Step3:Giving the port number , I have tried giving 465,587,25 as port number still is not connecting 

Can anyone please tell me where i am doing wrong on configuration?

 

Thanks,

Saroja.A

7
0 857
Question Mary George · Oct 16, 2024

Is it possible to use one IIS server to configure Webgateway and external Webserver for management portal when implementing synchronous mirroring with VIP  i.e Is it necessary to have two mirror servers(primary and Backup) , one Arbiter server, one Webserver for Webgateway and a sperate webserver for management portal? 

If anyone can please point to any documentation on Mirroring with Webgateway and external webserver for management  portal will be really helpful. 

 

Thank you for your help

6
0 267
Announcement Anastasia Dyubaylo · Aug 11, 2021

Hi Community,

We are pleased to invite all the developers to the upcoming InterSystems Analytics Contest Kick-off Webinar! The topic of this webinar is dedicated to the Analytics contest.

On this webinar, we’ll demo AtScale, InterSystems Reports (Logi), IRIS BI, IRIS NLP and answer the questions on how to develop, build, and deploy Analytics applications using InterSystems IRIS.

Date & Time: Monday, August 23 — 10:00 AM EDT

Speakers:  
🗣 @Carmen Logue, InterSystems Product Manager - Analytics and AI
🗣 @Evgeny Shvarov, InterSystems Developer Ecosystem Manager


6
0 470
Question Ben Spead · Aug 22, 2023

We're trying to get a little more discipline around Web Gateway change control, and deploy changes to our CSP.ini from source control.  I was wondering if anyone cared to share their best practices in this area?  There is a "RELOAD" parameter (https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…) which says you can put RELOAD=1 in your CSP.ini file in order to force it to automatically activate when noticed by the daemon.  

Do people use this approach, and keep RELOAD=1 stored in their CSP.ini in source control?

6
2 445
Article Patrick Dunn · Sep 15, 2020 2m read

In the WRC, we often see customers raise questions regarding a new Web Gateway setup where the Management Portal half-loads, but doesn’t show images. This article will explain why this error occurs, as well as how to fix it. This explanation is focused on the Web Gateway serving InterSystems IRIS instances, but the same explanation should apply to the CSP Gateway serving Caché instances as well.

The Problem:

You just installed the Web Gateway on a stand-alone Web Server.

6
0 976
Question Scott Roth · Feb 25, 2022

After what is seemed was weeks, I finally got SSL/TLS enabled on both Apache Web Server and IRIS using the Web Gateway. However while we can now use HTTPS to connect to our Development instance of IRIS, I am running into several errors when I have others try to access the Management Portal via HTTPS.

We are seeing...

  • "Unexpected status code, unable to process Hyper Event: Internal Server Error (500)"
  • Server Unavailable

Does anyone have a Optimal settings list that I need to set for Apache/Web Gateway

6
0 694
Question Ephraim Malane · Oct 19, 2023

Hi Community,

We have web gateway installed  as a standalone on the web server and when I access it through the direct link https://mydomain.com/csp/bin/Systems/Module.cxw, it doesn't require authentication it just opens as per screenshot below.

There is a requirement to add authenticate using username and password as with the webgateway installed with iris, I want to get to the below screen before gaining access to web gateway.

Thanks in advance.

6
0 611
Question Paul Coviello · Nov 6, 2023

We have a machine that serves 4 instances of Cache on VMS systems, one of them is password protected and works fine as they all do. we decided we wanted something beefier and copied it to a server, well all but the one you have to login to works so 3 of the 4 do.  and the odd part is I can no longer get to the management page from anywhere on any machine, http://localhost/csp/bin/Systems/Module.cxw&nbsp; I get a 404.8 error, I have tried adjusting security and same thing. and a server availability error.

I think it something on the new machine/server that is missing but why only 1 of the 4.

5
0 391
Question Yone Moreno Jiménez · Nov 10, 2025

Hello, thanks for your time reading this question.

We are receiving each day, alerts from one of our four Production nodes. It always has the same text:

 

[InterSystems IRIS SEVERE ERROR gchciris4.canariasalud:ENSEMBLE] [Utility.Event] [SYSTEM MONITOR] CSPGatewayLatency(127.0.0.1:443) Alert: CSPGatewayLatency = 5001.304, 5001.233, 5000.964 (Max value is 2000).

 

We have looked for it in the documentation here:

https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?

5
0 125
Question Norman W. Freeman · Aug 31, 2023

I have notified the following :

  • Web Gateway usually maintain a certain amount of TCP/IP connections (that is capped to Maximum Connections) with Super server process (also named %SYS.SERVER). Those connections will stay, even after some client requests (eg: browser) have been processed and the TCP/IP connections have been closed the other side (between client and webserver, usually Apache).
5
0 306
Question Marcel den Ouden · May 8, 2024

We are experimenting with IIS, as the PWS will be gone in newer versions.

The code which is executed, takes 15ms to run. If we execute it through PWS (REST), there is some overhead and the total execution time is 40ms, which is acceptable. However, if we go through IIS, it takes 150ms or sometimes even more.

Both PWS and IIS are running on the same server as IRIS in this case. No optimisations have been done on IIS.

Any suggestions on where to look/what to optimize on IIS?

4
2 261
Question Jordan Everett · Jun 4, 2022

Hi all!

I'm currently trying to find out how to have one Web Gateway route to multiple servers Management Portal. The only thing that I have come up with so far is to potentially make different routes per server?

I have a development, test, and production server and I want to use the same Gateway server using IIS to do SSL/TLS encryption for the CSP pages.

Any ideas or recommendations to pull this off?

4
0 560
Question Norman W. Freeman · Dec 20, 2023

I am using the event logger from CSP gateway with level "v9r" enabled, in order to dump the raw content of some HTTP requests.

I would like to decode the body response data, when it's in binary form. AFAIK the event logger will convert characters outside the 32-127 range (EBCDIC) to the "\xff" notation (where ff is a hexadecimal value). Here is an example :




Content What is written in the log Remark
helloworld helloworld  
hello £ world hello \xc2\xa3 world £ is C2A3 in Unicode
hello \xc2\xa3 world hello \xc2\xa3 world same as line above !
4
0 1377