Serving HTTPS requests from InterSystems API Management
This quick guide shows how to serve HTTPS requests with InterSystems API Management. Advantage here is that you have your certs on one separated server and you don't need to configure each backend web-server separately.
Here's how:
1. Buy the domain name.
2. Adjust DNS records from your domain to the IAM IP address.
3. Generate HTTPS certificate and private key. I use Let's Encrypt - it's free.
4. Start IAM if you didn't already.
5. Send this request to IAM:
POST http://host:8001/certificates/
{
"cert": "-----BEGIN CERTIFICATE-----...",
"key": "-----BEGIN PRIVATE KEY-----...",
"snis": [
"host"
]
}
Note: replace newlines in cert and key with \n
.
You'll get a response, save id
value from it.
6. Go to your IAM workspace, open SNIs, create new SNI with the name
- your host and ssl_certificate_id
- id from the previous step.
7. Update your routes to use https
protocol (leave only https
to force secure connection, or specify http, https
to allow both protocols)
8. Test HTTPS requests by sending them to https://host:8443/<your route>
- that's where IAM listens for HTTPS connections by default.