Learn how to securely route Ruby HTTP traffic through a QuotaGuard Shield proxy using native Net::HTTP.
Ruby installed.
QUOTAGUARDSHIELD_URL=... bin/qgpass ruby net-http.rbBe sure to set QUOTAGUARDSHIELD_URL to your Connection URL from the QuotaGuard Dashboard.
docker build -t qg-shield-ruby-net-http-example .
docker run -e QUOTAGUARDSHIELD_URL=... qg-shield-ruby-net-http-example#!/usr/bin/env ruby
require 'net/http'
require 'uri'
# Use localhost and port 8080 for qgpass
quotaguard = URI.parse("http://localhost:8080")
proxy_uri = URI.parse("http://#{quotaguard.host}:#{quotaguard.port}")
target_uri = URI.parse('https://ip.quotaguard.com')
Net::HTTP.start(target_uri.host, target_uri.port, proxy_uri.host, proxy_uri.port, :use_ssl => target_uri.scheme == 'https') do |http|
request = Net::HTTP::Get.new(target_uri)
response = http.request(request)
puts response.body
endFROM ruby:latest
WORKDIR /app/
RUN gem install net-http
# Download and extract qgpass
RUN curl https://s3.amazonaws.com/quotaguard/qgpass-latest.tar.gz | tar xz -C /app/
COPY net-http.rb net-http.rb
ENTRYPOINT [ "/app/bin/qgpass", "ruby", "net-http.rb" ]