Skip to content

Instantly share code, notes, and snippets.

@backpackid
Created November 27, 2017 03:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save backpackid/79db0a8bddbda3108af8003d5817f8fe to your computer and use it in GitHub Desktop.
Save backpackid/79db0a8bddbda3108af8003d5817f8fe to your computer and use it in GitHub Desktop.
require "http/server"
require "http/client"
require "openssl"
require "uri"
ssl = OpenSSL::SSL::Context::Server.new
ssl.private_key = "private.key"
ssl.certificate_chain = "public.cert"
proxy = HTTP::Server.new(8080) do |context|
location = URI.parse context.request.resource
client = HTTP::Client.new location
response = client.exec(context.request.method,location.to_s,context.request.headers)
context.response.content_type = response.content_type.to_s
context.response.print response.body
end
proxy.tls = ssl
puts "Server listening on port #{proxy.port}"
proxy.listen
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment