Secure Static IP for Node.js HTTPS using Request & Shield

Learn how to securely route Node.js HTTP traffic through a QuotaGuard Shield proxy using the Request library. Includes full code examples.

Prerequisites

npm install https-proxy-agent request

Instructions

Run example
QUOTAGUARDSHIELD_URL=... node https.js

Be sure to set QUOTAGUARDSHIELD_URL to your HTTP proxy URL from the QuotaGuard Dashboard.

Test in Docker
docker build -t qg-shield-node-https-example .
docker run -e QUOTAGUARDSHIELD_URL=... qg-shield-node-https-example

Code Samples

HTTPS.js
var url = require('url');
var HttpsProxyAgent = require('https-proxy-agent').HttpsProxyAgent;
var request = require('request');

var testEndpoint = 'https://ip.quotaguard.com';
var proxy = process.env.QUOTAGUARDSHIELD_URL;
var agent = new HttpsProxyAgent(proxy);
var options = {
  uri: url.parse(testEndpoint),
  agent
};

function callback(error, response, body) {
  if (!error && response.statusCode == 200) {
    console.log('body: ', body);
  } else {
    console.log('error: ', error);
  }
}

request(options, callback);
Docker File
FROM node:latest

COPY https.js /app/https.js

WORKDIR /app/

RUN npm install https-proxy-agent request

ENTRYPOINT [ "node", "https.js" ]